Files
NSPanel_HA_Blueprint/nspnael_blueprint.yaml
2022-11-28 23:56:38 +01:00

4725 lines
224 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#############################################################
##### START - INPUT #####
#############################################################
blueprint:
name: NSPanel Configuration
description: '# Configuration and synchronization NSPanel via Blueprint
This Blueprint makes it possible to configure the complete NSPanel easily via blueprint
It is no longer necessary to change anything in the code. All entities can be set and configured via the blueprint.
The only requirement is that the NSPanel was flashed with ESPHome. See Wiki.
📕 Full documentation is available here [NSPanel Configuration, Setup and HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki).
Version 2.0.0
'
source_url: https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/nspnael_blueprint.yaml
domain: automation
homeassistant:
min_version: 2022.11.1
input:
##### MAIN NAME #####
nspanel_name:
name: ESPhome Node Name
description: '* *here you have to enter exactly the same **"device_name"** you entered in the Esphome file*'
default: [nspanel_name]
selector:
text: {}
##### SYSTEM SETTINGS #####
language:
name: Language for NSPanel
description: '* *select the language for your NSPanel*'
default: 'EN'
selector:
select:
options:
- DE
- EN
tft_path:
name: Nextion TFT File Folder (Optional)
description: '* *TFT Path where the Nextion TFT File is stored. Attention! The **"Folder-Watcher"** must also be configured in the configuration.yaml. **Only necessary for manual upload of TFT file in ESPHome Advaced mode.** See HowTo*'
default: []
selector:
text: {}
delay:
name: Delay to avoid synchronization problem
description: '* *Synchronization Problems may occur due to the **NETWORK / WLAN**. To avoid this problem enter your value for the delay (milliseconds)*'
default: '10'
selector:
number:
min: 0
max: 100
sync_value_ha:
name: Synchronization of all values (Optional)
description: '* *Synchronization of values between HA and NSPanel for Lightsetting and Coversetting Page -> Maybe causes number jumps*'
default: 'select_no'
selector:
select:
options:
- label: 'No'
value: select_no
- label: 'Yes'
value: select_yes
sync_slider_ha:
name: Synchronization of all Sliders (Optional)
description: '* *Synchronization of sliders between HA and NSPanel for Lightsetting and Coversetting Page -> Maybe causes flickering on the Slider*'
default: 'select_no'
selector:
select:
options:
- label: 'No'
value: select_no
- label: 'Yes'
value: select_yes
##### WEATHER #####
weather:
name: Weather Integration
description: '* *select our Weather Integration*'
default: 'Default'
selector:
select:
options:
- Default
- AccuWeather
accuweather:
name: Name assigned to the AccuWeather Integration (Optional)
description: '* *If you use Accuweather Integration, the name of the Accuweather Integration must be entered here. ATTENTION! You must enter the name as specified in the entity. Example: Name of Accuweather is **"Home Weather"** then please write **"home_weather"** in the field*'
default: []
selector:
text: {}
##### GENERAL ENTITYS #####
outdoortemp:
name: Outdoor Temperature Sensor (Optional)
description: '* *If no outdoor sensor is available, leave the field empty and the value from your selected weather integration will be used automatically.*'
default: []
selector:
entity:
domain:
- sensor
humidity:
name: Humidity Sensor (Optional)
description: '* *Choose your humidity sensor*'
default: []
selector:
entity:
domain:
- sensor
hotwatertemp:
name: Hot Water Temperature Sensor (Optional)
description: '* *Choose your hot water sensor*'
default: []
selector:
entity:
domain:
- sensor
hotwatercharge:
name: Hot Water Charge (Optional)
description: '* *Choose your switch to turn your hot water ON or OFF*'
default: []
selector:
entity:
domain:
- switch
- input_boolean
heatingsystemflame:
name: Top Menu 04 (Optional)
description: '* *Top Menu 04 is a Flame icon. When your selected sensor is on, a flame icon is displayed*'
default: []
selector:
entity:
domain:
- binary_sensor
climate:
name: Climate to control (Optional)
description: '* *If an entity is selected, the **"Thermostat page"** is activated and enabled. If you have **"Underfloor Heating System"** and want to switch it via the relay, you must create a separate climate in HA. See HowTo*'
default: []
selector:
entity:
domain: climate
climate_optimistic:
name: Climate control optimistic mode (Optional)
default: true
description: '* *Depends on your climate device and HA-Integration. If optimisitc mode is **OFF** then changes are made will wait for response from device to update temperature in the display. This can cause delays or jumping values. If **ON** the script update the display immediately but apply changes after closing climate-page* '
selector:
boolean:
##### HARDWARE BUTTONS #####
left_button_entity:
name: Left Button (Optional)
description: '* *Left Hardware Button - Select the entity that should be switched*'
default: []
selector:
entity:
domain:
- light
- switch
- input_boolean
- cover
left_button_name:
name: Name "Left Button" (Optional)
description: '* *Left Button label - 10 characters are supported*'
default: []
selector:
text: {}
right_button_entity:
name: Right Button (Optional)
description: '* *Right Hardware Button - Select the entity that should be switched*'
default: []
selector:
entity:
domain:
- light
- switch
- input_boolean
- cover
right_button_name:
name: Name "Right Button" (Optional)
description: '* *Right Button label - 10 characters are supported*'
default: []
selector:
text: {}
##### BUTTONS #####
entity01:
name: Button 01 (Optional)
description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity01_name:
name: Name "Button 01" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity02:
name: Button 02 (Optional)
description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity02_name:
name: Name "Button 02" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity03:
name: Button 03 (Optional)
description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity03_name:
name: Name "Button 03" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity04:
name: Button 04 (Optional)
description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity04_name:
name: Name "Button 04" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity05:
name: Button 05 (Optional)
description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity05_name:
name: Name "Button 05" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity06:
name: Button 06 (Optional)
description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity06_name:
name: Name "Button 06" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity07:
name: Button 07 (Optional)
description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity07_name:
name: Name "Button 07" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity08:
name: Button 08 (Optional)
description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity08_name:
name: Name "Button 08" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity09:
name: Button 09 (Optional)
description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity09_name:
name: Name "Button 09" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity10:
name: Button 10 (Optional)
description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity10_name:
name: Name "Button 10" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity11:
name: Button 11 (Optional)
description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity11_name:
name: Name "Button 11" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity12:
name: Button 12 (Optional)
description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity12_name:
name: Name "Button 12" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity13:
name: Button 13 (Optional)
description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity13_name:
name: Name "Button 13" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity14:
name: Button 14 (Optional)
description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity14_name:
name: Name "Button 14" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity15:
name: Button 15 (Optional)
description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity15_name:
name: Name "Button 15" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity16:
name: Button 16 (Optional)
description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity16_name:
name: Name "Button 16" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity17:
name: Button 17 (Optional)
description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity17_name:
name: Name "Button 17" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity18:
name: Button 18 (Optional)
description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity18_name:
name: Name "Button 18" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity19:
name: Button 19 (Optional)
description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity19_name:
name: Name "Button 19" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity20:
name: Button 20 (Optional)
description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity20_name:
name: Name "Button 20" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity21:
name: Button 21 (Optional)
description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity21_name:
name: Name "Button 21" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity22:
name: Button 22 (Optional)
description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity22_name:
name: Name "Button 22" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity23:
name: Button 23 (Optional)
description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity23_name:
name: Name "Button 23" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity24:
name: Button 24 (Optional)
description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity24_name:
name: Name "Button 24" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity25:
name: Button 25 (Optional)
description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity25_name:
name: Name "Button 25" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity26:
name: Button 26 (Optional)
description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity26_name:
name: Name "Button 26" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity27:
name: Button 27 (Optional)
description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity27_name:
name: Name "Button 27" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity28:
name: Button 28 (Optional)
description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity28_name:
name: Name "Button 28" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity29:
name: Button 29 (Optional)
description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity29_name:
name: Name "Button 29" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity30:
name: Button 30 (Optional)
description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity30_name:
name: Name "Button 30" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity31:
name: Button 31 (Optional)
description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity31_name:
name: Name "Button 31" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
entity32:
name: Button 32 (Optional)
description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*'
default: []
selector:
entity:
domain:
- light
- switch
- cover
- input_boolean
entity32_name:
name: Name "Button 32" (Optional)
description: '* *Button label - 10 characters are supported*'
default: []
selector:
text: {}
mode: parallel
max: 5000
#############################################################
##### CLOSE - INPUT #####
#############################################################
#############################################################
##### START - Variables #####
#############################################################
trigger_variables:
nspanel_name_trigger: !input "nspanel_name"
last_click: "sensor.{{ nspanel_name_trigger }}_last_click"
last_click_lightsettings: "sensor.{{ nspanel_name_trigger }}_last_click_lightsettings"
last_click_coversettings: "sensor.{{ nspanel_name_trigger }}_last_click_coversettings"
last_click_climatesettings: "sensor.{{ nspanel_name_trigger }}_last_click_climatesettings"
left_button: "binary_sensor.{{ nspanel_name_trigger }}_left_button"
right_button: "binary_sensor.{{ nspanel_name_trigger }}_right_button"
weather_forcast_button: "binary_sensor.{{ nspanel_name_trigger }}_weather_forcast"
nextion_inited_trigger: "switch.{{ nspanel_name_trigger }}_nextion_inited"
# current_page: "sensor.{{ nspanel_name_trigger }}_current_page"
current_page: "sensor.{{ nspanel_name_trigger }}_currentpage"
hotwatercharge: !input "hotwatercharge"
heatingsystemflame: !input "heatingsystemflame"
display_target_temperature: "sensor.{{ nspanel_name_trigger }}_display_target_temperature"
relay01_entity: "switch.{{ nspanel_name_trigger }}_relay_1"
relay02_entity: "switch.{{ nspanel_name_trigger }}_relay_2"
##### WEATHER Trigger #####
weather: !input "weather"
ha_weather: "weather.home"
accuweather: !input "accuweather"
accuweather_value: "weather.{{ accuweather }}"
weather_entity: >-
{%- if weather == "Default" -%} {{ ha_weather }}
{%- elif weather == "AccuWeather" -%} {{ accuweather_value }}
{%- endif -%}
variables:
##### GENERAL #####
nspanel_name: !input "nspanel_name"
time: "{{ (as_timestamp(now()) | timestamp_custom('%H:%M')) }}"
language: !input "language"
##### PUSH TO NEXTION DISPLAY #####
command_text_printf: "esphome.{{ nspanel_name }}_send_command_text_printf"
command_value: "esphome.{{ nspanel_name }}_send_command_value"
command_printf: "esphome.{{ nspanel_name }}_send_command_printf"
command_font_color: "esphome.{{ nspanel_name }}_send_command_font_color"
command_background_color: "esphome.{{ nspanel_name }}_send_command_background_color"
command_thermostat_cycle: "esphome.{{ nspanel_name }}_send_thermostat_cycle_state"
###### SYNC SETTINGS #####
delay_boot: !input "delay"
delay_value: !input "delay"
delay_jump_page: !input "delay"
sync_slider_ha: !input "sync_slider_ha"
sync_value_ha: !input "sync_value_ha"
climate_optimistic: !input "climate_optimistic"
##### TFT UPLOAD #####
tft_upload: "esphome.{{ nspanel_name }}_upload_tft"
tft_path: !input "tft_path"
##### GENERAL ENTITYS #####
humidity: !input "humidity"
hotwatertemp: !input "hotwatertemp"
outdoortemp: !input "outdoortemp"
climate: !input "climate"
#### HARDWARE BUTTONS #####
left_button_entity: !input "left_button_entity"
left_button_name: !input "left_button_name"
right_button_entity: !input "right_button_entity"
right_button_name: !input "right_button_name"
##### NEXTION PIC MAPPING #####
button_light_off: "62"
button_light_on: "63"
button_switch_off: "64"
button_switch_on: "65"
button_cover_off: "66"
button_cover_on: "67"
hardware_button_pic_off: "98"
hardware_button_pic_on: "99"
cover_pic_closed: "78"
cover_pic_open: "79"
battery_icon: "80"
light_pic_off: "96"
light_pic_on: "97"
# hotwater_pic_off: "60"
hotwater_pic_on: "61"
flame_pic_on: "57"
# flame_pic_off: "60"
top_menu_blank: "60"
thermostat_pic_on: "58"
heat_pic_on: "59"
relay01_pic_on: "105"
relay02_pic_on: "106"
weather_sunny: "2"
weather_cloudy: "3"
weather_rainy: "4"
weather_pouring: "5"
weather_snowy: "6"
weather_hail: "7"
weather_snowy_rainy: "7"
weather_fog: "8"
weather_windy: "9"
weather_windy_variant: "9"
weather_lightning: "10"
weather_partlycloudy_day: "11"
weather_partlycloudy_night: "12"
weather_lightning_rainy_day: "13"
weather_lightning_rainy_night: "14"
weather_execptional_day: "13"
weather_execptional_night: "14"
weather_clear_night: "15"
weather_icon_blank: "51"
weather_icon_rain: "52"
weather_icon_sun: "53"
weather_icon_protect: "54"
weather_icon_lightning: "55"
weather_icon_wind: "56"
# hotw_bt_pic
hotw_bt_blank: "100"
hotw_bt_off: "101"
hotw_bt_on: "102"
# heating_bt_pic
heating_bt_pic_off: "103"
heating_bt_pic_on: "104"
###### NEXTION COLOR MAPPING #####
button_color_1: "65535"
button_color_2: "10597"
###### NEXTION PAGE MAPPING #####
page_home: "home"
page_weather01: "weather01"
page_weather02: "weather02"
page_weather03: "weather03"
page_weather04: "weather04"
page_weather05: "weather05"
page_climate: "climate"
page_settings: "settings"
page_boot: "boot"
page_screensaver: "screensaver"
page_lightsettings: "lightsettings"
page_coversettings: "coversettings"
page_buttonpage01: "buttonpage01"
page_buttonpage02: "buttonpage02"
page_buttonpage03: "buttonpage03"
page_buttonpage04: "buttonpage04"
##### MUI Multilingual User Interface (DE/EN) #####
date01_mui: >-
{%- if language == "DE" -%} {{ ((as_timestamp(now())) | timestamp_custom('%a %d.%m' )) | replace('Mon', 'Montag,')| replace('Tue', 'Dienstag,')| replace('Wed', 'Mittwoch,')| replace('Thu', 'Donnerstag,')| replace('Fri', 'Freitag,')| replace('Sat', 'Samstag,')| replace('Sun', 'Sonntag,') }}
{%- elif language == "EN" -%} {{ ((as_timestamp(now())) | timestamp_custom('%a %d.%m' )) | replace('Mon', 'Monday,')| replace('Tue', 'Tuesday,')| replace('Wed', 'Wednesday,')| replace('Thu', 'Thursday,')| replace('Fri', 'Friday,')| replace('Sat', 'Saturday,')| replace('Sun', 'Sunday,') }}
{%- endif -%}
date02_mui: >-
{%- if language == "DE" -%} {{ ((as_timestamp(now()) + 86400) | timestamp_custom('%a %d.%m' )) | replace('Mon', 'Montag,')| replace('Tue', 'Dienstag,')| replace('Wed', 'Mittwoch,')| replace('Thu', 'Donnerstag,')| replace('Fri', 'Freitag,')| replace('Sat', 'Samstag,')| replace('Sun', 'Sonntag,') }}
{%- elif language == "EN" -%} {{ ((as_timestamp(now()) + 86400) | timestamp_custom('%a %d.%m' )) | replace('Mon', 'Monday,')| replace('Tue', 'Tuesday,')| replace('Wed', 'Wednesday,')| replace('Thu', 'Thursday,')| replace('Fri', 'Friday,')| replace('Sat', 'Saturday,')| replace('Sun', 'Sunday,') }}
{%- endif -%}
date03_mui: >-
{%- if language == "DE" -%} {{ ((as_timestamp(now()) + 172800) | timestamp_custom('%a %d.%m' )) | replace('Mon', 'Montag,')| replace('Tue', 'Dienstag,')| replace('Wed', 'Mittwoch,')| replace('Thu', 'Donnerstag,')| replace('Fri', 'Freitag,')| replace('Sat', 'Samstag,')| replace('Sun', 'Sonntag,') }}
{%- elif language == "EN" -%} {{ ((as_timestamp(now()) + 172800) | timestamp_custom('%a %d.%m' )) | replace('Mon', 'Monday,')| replace('Tue', 'Tuesday,')| replace('Wed', 'Wednesday,')| replace('Thu', 'Thursday,')| replace('Fri', 'Friday,')| replace('Sat', 'Saturday,')| replace('Sun', 'Sunday,') }}
{%- endif -%}
date04_mui: >-
{%- if language == "DE" -%} {{ ((as_timestamp(now()) + 259200) | timestamp_custom('%a %d.%m' )) | replace('Mon', 'Montag,')| replace('Tue', 'Dienstag,')| replace('Wed', 'Mittwoch,')| replace('Thu', 'Donnerstag,')| replace('Fri', 'Freitag,')| replace('Sat', 'Samstag,')| replace('Sun', 'Sonntag,') }}
{%- elif language == "EN" -%} {{ ((as_timestamp(now()) + 259200) | timestamp_custom('%a %d.%m' )) | replace('Mon', 'Monday,')| replace('Tue', 'Tuesday,')| replace('Wed', 'Wednesday,')| replace('Thu', 'Thursday,')| replace('Fri', 'Friday,')| replace('Sat', 'Saturday,')| replace('Sun', 'Sunday,') }}
{%- endif -%}
date05_mui: >-
{%- if language == "DE" -%} {{ ((as_timestamp(now()) + 345600) | timestamp_custom('%a %d.%m' )) | replace('Mon', 'Montag,')| replace('Tue', 'Dienstag,')| replace('Wed', 'Mittwoch,')| replace('Thu', 'Donnerstag,')| replace('Fri', 'Freitag,')| replace('Sat', 'Samstag,')| replace('Sun', 'Sonntag,') }}
{%- elif language == "EN" -%} {{ ((as_timestamp(now()) + 345600) | timestamp_custom('%a %d.%m' )) | replace('Mon', 'Monday,')| replace('Tue', 'Tuesday,')| replace('Wed', 'Wednesday,')| replace('Thu', 'Thursday,')| replace('Fri', 'Friday,')| replace('Sat', 'Saturday,')| replace('Sun', 'Sunday,') }}
{%- endif -%}
day01_mui: >-
{%- if language == "DE" -%} Heute
{%- elif language == "EN" -%} Today
{%- endif -%}
day02_mui: >-
{%- if language == "DE" -%} Morgen
{%- elif language == "EN" -%} Tomorrow
{%- endif -%}
day03_mui: >-
{%- if language == "DE" -%} in 2 Tagen
{%- elif language == "EN" -%} in 2 Days
{%- endif -%}
day04_mui: >-
{%- if language == "DE" -%} in 3 Tagen
{%- elif language == "EN" -%} in 3 Days
{%- endif -%}
day05_mui: >-
{%- if language == "DE" -%} in 4 Tagen
{%- elif language == "EN" -%} in 4 Days
{%- endif -%}
on_mui: >-
{%- if language == "DE" -%} ein
{%- elif language == "EN" -%} on
{%- endif -%}
off_mui: >-
{%- if language == "DE" -%} aus
{%- elif language == "EN" -%} off
{%- endif -%}
heat_mui: >-
{%- if language == "DE" -%} heizen
{%- elif language == "EN" -%} heat
{%- endif -%}
##### FORCAST ACCUWEATHER - DAY 0 #####
accuweather_realfeel_temperature_min_0d: "sensor.{{ accuweather }}_realfeel_temperature_min_0d"
accuweather_realfeel_temperature_max_0d: "sensor.{{ accuweather }}_realfeel_temperature_max_0d"
accuweather_hours_of_sun_0d: "sensor.{{ accuweather }}_hours_of_sun_0d"
accuweather_uv_index_0d: "sensor.{{ accuweather }}_uv_index_0d"
accuweather_thunderstorm_probability_day_0d: "sensor.{{ accuweather }}_thunderstorm_probability_day_0d"
accuweather_thunderstorm_probability_night_0d: "sensor.{{ accuweather }}_thunderstorm_probability_night_0d"
accuweather_wind_day_0d: "sensor.{{ accuweather }}_wind_day_0d"
accuweather_wind_night_0d: "sensor.{{ accuweather }}_wind_night_0d"
##### FORCAST ACCUWEATHER - DAY 1 #####
accuweather_realfeel_temperature_min_1d: "sensor.{{ accuweather }}_realfeel_temperature_min_1d"
accuweather_realfeel_temperature_max_1d: "sensor.{{ accuweather }}_realfeel_temperature_max_1d"
accuweather_hours_of_sun_1d: "sensor.{{ accuweather }}_hours_of_sun_1d"
accuweather_uv_index_1d: "sensor.{{ accuweather }}_uv_index_1d"
accuweather_thunderstorm_probability_day_1d: "sensor.{{ accuweather }}_thunderstorm_probability_day_1d"
accuweather_thunderstorm_probability_night_1d: "sensor.{{ accuweather }}_thunderstorm_probability_night_1d"
accuweather_wind_day_1d: "sensor.{{ accuweather }}_wind_day_1d"
accuweather_wind_night_1d: "sensor.{{ accuweather }}_wind_night_1d"
##### FORCAST ACCUWEATHER - DAY 2 #####
accuweather_realfeel_temperature_min_2d: "sensor.{{ accuweather }}_realfeel_temperature_min_2d"
accuweather_realfeel_temperature_max_2d: "sensor.{{ accuweather }}_realfeel_temperature_max_2d"
accuweather_hours_of_sun_2d: "sensor.{{ accuweather }}_hours_of_sun_2d"
accuweather_uv_index_2d: "sensor.{{ accuweather }}_uv_index_2d"
accuweather_thunderstorm_probability_day_2d: "sensor.{{ accuweather }}_thunderstorm_probability_day_2d"
accuweather_thunderstorm_probability_night_2d: "sensor.{{ accuweather }}_thunderstorm_probability_night_2d"
accuweather_wind_day_2d: "sensor.{{ accuweather }}_wind_day_2d"
accuweather_wind_night_2d: "sensor.{{ accuweather }}_wind_night_2d"
##### FORCAST ACCUWEATHER - DAY 3 #####
accuweather_realfeel_temperature_min_3d: "sensor.{{ accuweather }}_realfeel_temperature_min_3d"
accuweather_realfeel_temperature_max_3d: "sensor.{{ accuweather }}_realfeel_temperature_max_3d"
accuweather_hours_of_sun_3d: "sensor.{{ accuweather }}_hours_of_sun_3d"
accuweather_uv_index_3d: "sensor.{{ accuweather }}_uv_index_3d"
accuweather_thunderstorm_probability_day_3d: "sensor.{{ accuweather }}_thunderstorm_probability_day_3d"
accuweather_thunderstorm_probability_night_3d: "sensor.{{ accuweather }}_thunderstorm_probability_night_3d"
accuweather_wind_day_3d: "sensor.{{ accuweather }}_wind_day_3d"
accuweather_wind_night_3d: "sensor.{{ accuweather }}_wind_night_3d"
##### FORCAST ACCUWEATHER - DAY 4 #####
accuweather_realfeel_temperature_min_4d: "sensor.{{ accuweather }}_realfeel_temperature_min_4d"
accuweather_realfeel_temperature_max_4d: "sensor.{{ accuweather }}_realfeel_temperature_max_4d"
accuweather_hours_of_sun_4d: "sensor.{{ accuweather }}_hours_of_sun_4d"
accuweather_uv_index_4d: "sensor.{{ accuweather }}_uv_index_4d"
accuweather_thunderstorm_probability_day_4d: "sensor.{{ accuweather }}_thunderstorm_probability_day_4d"
accuweather_thunderstorm_probability_night_4d: "sensor.{{ accuweather }}_thunderstorm_probability_night_4d"
accuweather_wind_day_4d: "sensor.{{ accuweather }}_wind_day_4d"
accuweather_wind_night_4d: "sensor.{{ accuweather }}_wind_night_4d"
##### BUTTONS 1- 32 #####
entity01: !input "entity01"
entity01_name: !input "entity01_name"
entity02: !input "entity02"
entity02_name: !input "entity02_name"
entity03: !input "entity03"
entity03_name: !input "entity03_name"
entity04: !input "entity04"
entity04_name: !input "entity04_name"
entity05: !input "entity05"
entity05_name: !input "entity05_name"
entity06: !input "entity06"
entity06_name: !input "entity06_name"
entity07: !input "entity07"
entity07_name: !input "entity07_name"
entity08: !input "entity08"
entity08_name: !input "entity08_name"
entity09: !input "entity09"
entity09_name: !input "entity09_name"
entity10: !input "entity10"
entity10_name: !input "entity10_name"
entity11: !input "entity11"
entity11_name: !input "entity11_name"
entity12: !input "entity12"
entity12_name: !input "entity12_name"
entity13: !input "entity13"
entity13_name: !input "entity13_name"
entity14: !input "entity14"
entity14_name: !input "entity14_name"
entity15: !input "entity15"
entity15_name: !input "entity15_name"
entity16: !input "entity16"
entity16_name: !input "entity16_name"
entity17: !input "entity17"
entity17_name: !input "entity17_name"
entity18: !input "entity18"
entity18_name: !input "entity18_name"
entity19: !input "entity19"
entity19_name: !input "entity19_name"
entity20: !input "entity20"
entity20_name: !input "entity20_name"
entity21: !input "entity21"
entity21_name: !input "entity21_name"
entity22: !input "entity22"
entity22_name: !input "entity22_name"
entity23: !input "entity23"
entity23_name: !input "entity23_name"
entity24: !input "entity24"
entity24_name: !input "entity24_name"
entity25: !input "entity25"
entity25_name: !input "entity25_name"
entity26: !input "entity26"
entity26_name: !input "entity26_name"
entity27: !input "entity27"
entity27_name: !input "entity27_name"
entity28: !input "entity28"
entity28_name: !input "entity28_name"
entity29: !input "entity29"
entity29_name: !input "entity29_name"
entity30: !input "entity30"
entity30_name: !input "entity30_name"
entity31: !input "entity31"
entity31_name: !input "entity31_name"
entity32: !input "entity32"
entity32_name: !input "entity32_name"
#############################################################
##### CLOSE - Variables #####
#############################################################
#############################################################
##### START - Trigger #####
#############################################################
trigger:
##### Trigger - General #################################################################################################################
###### DELME - Trigger "nspanel_boot_init" ######
- platform: state
entity_id: input_boolean.trigger_nspanel_boot
to: "on"
id: nspanel_boot_init
##### Reboot - Trigger "nspanel_boot_init" #####
- platform: template
value_template: '{{ states(nextion_inited_trigger) is match "on" }}'
id: nspanel_boot_init
##### TFT Upload - Trigger "tft_upload" #####
- platform: event
event_type: folder_watcher
event_data:
event_type: modified
path: !input "tft_path"
id: tft_upload
##### Time - Trigger "time_state" #####
- platform: time_pattern
minutes: "/1"
id: time_state
#### Weather state changed #######
- platform: event
event_type: state_changed
event_data:
entity_id: '{{ weather_entity }}'
id: weather_state_change
##### Humidity - Trigger "humidity_state" #####
- platform: event
event_type: state_changed
event_data:
entity_id: !input "humidity"
id: humidity_state
##### Climate - Trigger "climate_state" #####
- platform: event
event_type: state_changed
event_data:
entity_id: !input "climate"
id: climate_state
##### Hot Water - Trigger "hotwatertemp_state" #####
- platform: event
event_type: state_changed
event_data:
entity_id: !input "hotwatertemp"
id: hotwatertemp_state
##### Outdoor Temp - Trigger "outdoortemp_state" #####
- platform: event
event_type: state_changed
event_data:
entity_id: !input "outdoortemp"
id: outdoortemp_state
##### Hot Water Charge - Trigger "hotwatercharge_state" #####
- platform: event
event_type: state_changed
event_data:
entity_id: !input "hotwatercharge"
id: hotwatercharge_state
##### Heating System Flame - Trigger "heatingsystemflame_state" #####
- platform: event
event_type: state_changed
event_data:
entity_id: !input "heatingsystemflame"
id: heatingsystemflame_state
##### Relay01 - Trigger "relay01_state" #####
- platform: event
event_type: state_changed
event_data:
entity_id: '{{ relay01_entity }}'
id: relay01_state
##### Relay02 - Trigger "relay02_state" #####
- platform: event
event_type: state_changed
event_data:
entity_id: '{{ relay02_entity }}'
id: relay02_state
##### Left Button - Trigger "left_button_press" #####
- platform: template
value_template: '{{ states(left_button) is match "on" }}'
id: left_button_press
##### Right Button - Trigger "right_button_press" #####
- platform: template
value_template: '{{ states(right_button) is match "on" }}'
id: right_button_press
##### Left Button - State "left_button_state" #####
- platform: event
event_type: state_changed
event_data:
entity_id: !input "left_button_entity"
id: left_button_state
##### Right Button - State "right_button_state" #####
- platform: event
event_type: state_changed
event_data:
entity_id: !input "right_button_entity"
id: right_button_state
#### Climate - Trigger ####
- platform: template
value_template: '{{ states(last_click) is match "releaseclimate" }}'
id: open_climate_settings
##### Trigger - Button General #################################################################################################################
##### Page Button - Trigger "short_press" - SHORT Press via "last_click" #####
- platform: template
value_template: '{{ states(last_click) is match "releasebutton" }}'
id: short_press
##### Page Button - Trigger "long_press" - LONG Press via "last_click" - Button LONG Press for jump to Lightsetting or Coversetting Page #####
- platform: template
value_template: '{{ states(last_click) is match "press" }}'
for:
seconds: 1
id: long_press
##### Page Lightsettings - Trigger "light_settings" - Changes Lightsettings Page via "last_click_lightsettings" #####
- platform: event
event_type: state_changed
event_data:
entity_id: "{{ last_click_lightsettings }}"
id: light_settings
##### Page Coversettings - Trigger "cover_settings" - Changes Coversettings Page via "last_click_coversettings" #####
- platform: event
event_type: state_changed
event_data:
entity_id: "{{ last_click_coversettings }}"
id: cover_settings
##### Page Climatesettings - Trigger "climate_settings" - Changes Climatesettings Page via "last_click_climatesettings" #####
- platform: event
event_type: state_changed
event_data:
entity_id: "{{ last_click_climatesettings }}"
id: climate_settings
##### Current page changed #####
- platform: event
event_type: state_changed
event_data:
entity_id: "{{ current_page }}"
id: current_page_changed
##### Page Button - Trigger "button_page" Entity sync #####
- platform: template
value_template: '{{ states(last_click) is match "button" }}'
id: button_page
##### Trigger - Button State change #################################################################################################################
##### Button01 Sync - Trigger "current_state_entity01" #####
- platform: state
entity_id: !input "entity01"
id: current_state_entity01
##### Button02 Sync - Trigger "current_state_entity02" #####
- platform: state
entity_id: !input "entity02"
id: current_state_entity02
##### Button03 Sync - Trigger "current_state_entity03" #####
- platform: state
entity_id: !input "entity03"
id: current_state_entity03
##### Button04 Sync - Trigger "current_state_entity04" #####
- platform: state
entity_id: !input "entity04"
id: current_state_entity04
##### Button05 Sync - Trigger "current_state_entity05" #####
- platform: state
entity_id: !input "entity05"
id: current_state_entity05
##### Button06 Sync - Trigger "current_state_entity06" #####
- platform: state
entity_id: !input "entity06"
id: current_state_entity06
##### Button07 Sync - Trigger "current_state_entity07" #####
- platform: state
entity_id: !input "entity07"
id: current_state_entity07
##### Button08 Sync - Trigger "current_state_entity08" #####
- platform: state
entity_id: !input "entity08"
id: current_state_entity08
##### Button09 Sync - Trigger "current_state_entity09" #####
- platform: state
entity_id: !input "entity09"
id: current_state_entity09
##### Button10 Sync - Trigger "current_state_entity10" #####
- platform: state
entity_id: !input "entity10"
id: current_state_entity10
##### Button11 Sync - Trigger "current_state_entity11" #####
- platform: state
entity_id: !input "entity11"
id: current_state_entity11
##### Button12 Sync - Trigger "current_state_entity12" #####
- platform: state
entity_id: !input "entity12"
id: current_state_entity12
##### Button13 Sync - Trigger "current_state_entity13" #####
- platform: state
entity_id: !input "entity13"
id: current_state_entity13
##### Button14 Sync - Trigger "current_state_entity14" #####
- platform: state
entity_id: !input "entity14"
id: current_state_entity14
##### Button15 Sync - Trigger "current_state_entity15" #####
- platform: state
entity_id: !input "entity15"
id: current_state_entity15
##### Button16 Sync - Trigger "current_state_entity16" #####
- platform: state
entity_id: !input "entity16"
id: current_state_entity16
##### Button17 Sync - Trigger "current_state_entity17" #####
- platform: state
entity_id: !input "entity17"
id: current_state_entity17
##### Button18 Sync - Trigger "current_state_entity18" #####
- platform: state
entity_id: !input "entity18"
id: current_state_entity18
##### Button19 Sync - Trigger "current_state_entity19" #####
- platform: state
entity_id: !input "entity19"
id: current_state_entity19
##### Button20 Sync - Trigger "current_state_entity20" #####
- platform: state
entity_id: !input "entity20"
id: current_state_entity20
##### Button21 Sync - Trigger "current_state_entity21" #####
- platform: state
entity_id: !input "entity21"
id: current_state_entity21
##### Button22 Sync - Trigger "current_state_entity22" #####
- platform: state
entity_id: !input "entity22"
id: current_state_entity22
##### Button23 Sync - Trigger "current_state_entity23" #####
- platform: state
entity_id: !input "entity23"
id: current_state_entity23
##### Button24 Sync - Trigger "current_state_entity24" #####
- platform: state
entity_id: !input "entity24"
id: current_state_entity24
##### Button25 Sync - Trigger "current_state_entity25" #####
- platform: state
entity_id: !input "entity25"
id: current_state_entity25
##### Button26 Sync - Trigger "current_state_entity26" #####
- platform: state
entity_id: !input "entity26"
id: current_state_entity26
##### Button27 Sync - Trigger "current_state_entity27" #####
- platform: state
entity_id: !input "entity27"
id: current_state_entity27
##### Button28 Sync - Trigger "current_state_entity28" #####
- platform: state
entity_id: !input "entity28"
id: current_state_entity28
##### Button29 Sync - Trigger "current_state_entity29" #####
- platform: state
entity_id: !input "entity29"
id: current_state_entity29
##### Button30 Sync - Trigger "current_state_entity30" #####
- platform: state
entity_id: !input "entity30"
id: current_state_entity30
##### Button31 Sync - Trigger "current_state_entity31" #####
- platform: state
entity_id: !input "entity31"
id: current_state_entity31
##### Button32 Sync - Trigger "current_state_entity32" #####
- platform: state
entity_id: !input "entity32"
id: current_state_entity32
#############################################################
##### CLOSE - Trigger #####
#############################################################
#############################################################
##### START - Action #####
#############################################################
action:
- variables:
##### Entity - Page Lightsettings #####
entity_long: >-
{%- if states(last_click) == "pressbuttonpage01button01" -%} {{ entity01 }}
{%- elif states(last_click) == "pressbuttonpage01button02" -%} {{ entity02 }}
{%- elif states(last_click) == "pressbuttonpage01button03" -%} {{ entity03 }}
{%- elif states(last_click) == "pressbuttonpage01button04" -%} {{ entity04 }}
{%- elif states(last_click) == "pressbuttonpage01button05" -%} {{ entity05 }}
{%- elif states(last_click) == "pressbuttonpage01button06" -%} {{ entity06 }}
{%- elif states(last_click) == "pressbuttonpage01button07" -%} {{ entity07 }}
{%- elif states(last_click) == "pressbuttonpage01button08" -%} {{ entity08 }}
{%- elif states(last_click) == "pressbuttonpage02button01" -%} {{ entity09 }}
{%- elif states(last_click) == "pressbuttonpage02button02" -%} {{ entity10 }}
{%- elif states(last_click) == "pressbuttonpage02button03" -%} {{ entity11 }}
{%- elif states(last_click) == "pressbuttonpage02button04" -%} {{ entity12 }}
{%- elif states(last_click) == "pressbuttonpage02button05" -%} {{ entity13 }}
{%- elif states(last_click) == "pressbuttonpage02button06" -%} {{ entity14 }}
{%- elif states(last_click) == "pressbuttonpage02button07" -%} {{ entity15 }}
{%- elif states(last_click) == "pressbuttonpage02button08" -%} {{ entity16 }}
{%- elif states(last_click) == "pressbuttonpage03button01" -%} {{ entity17 }}
{%- elif states(last_click) == "pressbuttonpage03button02" -%} {{ entity18 }}
{%- elif states(last_click) == "pressbuttonpage03button03" -%} {{ entity19 }}
{%- elif states(last_click) == "pressbuttonpage03button04" -%} {{ entity20 }}
{%- elif states(last_click) == "pressbuttonpage03button05" -%} {{ entity21 }}
{%- elif states(last_click) == "pressbuttonpage03button06" -%} {{ entity22 }}
{%- elif states(last_click) == "pressbuttonpage03button07" -%} {{ entity23 }}
{%- elif states(last_click) == "pressbuttonpage03button08" -%} {{ entity24 }}
{%- elif states(last_click) == "pressbuttonpage04button01" -%} {{ entity25 }}
{%- elif states(last_click) == "pressbuttonpage04button02" -%} {{ entity26 }}
{%- elif states(last_click) == "pressbuttonpage04button03" -%} {{ entity27 }}
{%- elif states(last_click) == "pressbuttonpage04button04" -%} {{ entity28 }}
{%- elif states(last_click) == "pressbuttonpage04button05" -%} {{ entity29 }}
{%- elif states(last_click) == "pressbuttonpage04button06" -%} {{ entity30 }}
{%- elif states(last_click) == "pressbuttonpage04button07" -%} {{ entity31 }}
{%- elif states(last_click) == "pressbuttonpage04button08" -%} {{ entity32 }}
{%- endif -%}
##### Entity Name - Page Lightsettings #####
entity_long_name: >-
{%- if states(last_click) == "pressbuttonpage01button01" -%} {{ entity01_name }}
{%- elif states(last_click) == "pressbuttonpage01button02" -%} {{ entity02_name }}
{%- elif states(last_click) == "pressbuttonpage01button03" -%} {{ entity03_name }}
{%- elif states(last_click) == "pressbuttonpage01button04" -%} {{ entity04_name }}
{%- elif states(last_click) == "pressbuttonpage01button05" -%} {{ entity05_name }}
{%- elif states(last_click) == "pressbuttonpage01button06" -%} {{ entity06_name }}
{%- elif states(last_click) == "pressbuttonpage01button07" -%} {{ entity07_name }}
{%- elif states(last_click) == "pressbuttonpage01button08" -%} {{ entity08_name }}
{%- elif states(last_click) == "pressbuttonpage02button01" -%} {{ entity09_name }}
{%- elif states(last_click) == "pressbuttonpage02button02" -%} {{ entity10_name }}
{%- elif states(last_click) == "pressbuttonpage02button03" -%} {{ entity11_name }}
{%- elif states(last_click) == "pressbuttonpage02button04" -%} {{ entity12_name }}
{%- elif states(last_click) == "pressbuttonpage02button05" -%} {{ entity13_name }}
{%- elif states(last_click) == "pressbuttonpage02button06" -%} {{ entity14_name }}
{%- elif states(last_click) == "pressbuttonpage02button07" -%} {{ entity15_name }}
{%- elif states(last_click) == "pressbuttonpage02button08" -%} {{ entity16_name }}
{%- elif states(last_click) == "pressbuttonpage03button01" -%} {{ entity17_name }}
{%- elif states(last_click) == "pressbuttonpage03button02" -%} {{ entity18_name }}
{%- elif states(last_click) == "pressbuttonpage03button03" -%} {{ entity19_name }}
{%- elif states(last_click) == "pressbuttonpage03button04" -%} {{ entity20_name }}
{%- elif states(last_click) == "pressbuttonpage03button05" -%} {{ entity21_name }}
{%- elif states(last_click) == "pressbuttonpage03button06" -%} {{ entity22_name }}
{%- elif states(last_click) == "pressbuttonpage03button07" -%} {{ entity23_name }}
{%- elif states(last_click) == "pressbuttonpage03button08" -%} {{ entity24_name }}
{%- elif states(last_click) == "pressbuttonpage04button01" -%} {{ entity25_name }}
{%- elif states(last_click) == "pressbuttonpage04button02" -%} {{ entity26_name }}
{%- elif states(last_click) == "pressbuttonpage04button03" -%} {{ entity27_name }}
{%- elif states(last_click) == "pressbuttonpage04button04" -%} {{ entity28_name }}
{%- elif states(last_click) == "pressbuttonpage04button05" -%} {{ entity29_name}}
{%- elif states(last_click) == "pressbuttonpage04button06" -%} {{ entity30_name }}
{%- elif states(last_click) == "pressbuttonpage04button07" -%} {{ entity31_name }}
{%- elif states(last_click) == "pressbuttonpage04button08" -%} {{ entity32_name }}
{%- endif -%}
##### Entity - Page Lightsettings - Skip Back #####
entity_back: >-
{%- if states(last_click) == "pressbuttonpage01button01" -%} {{ "page buttonpage01" }}
{%- elif states(last_click) == "pressbuttonpage01button02" -%} {{ "page buttonpage01" }}
{%- elif states(last_click) == "pressbuttonpage01button03" -%} {{ "page buttonpage01" }}
{%- elif states(last_click) == "pressbuttonpage01button04" -%} {{ "page buttonpage01" }}
{%- elif states(last_click) == "pressbuttonpage01button05" -%} {{ "page buttonpage01" }}
{%- elif states(last_click) == "pressbuttonpage01button06" -%} {{ "page buttonpage01" }}
{%- elif states(last_click) == "pressbuttonpage01button07" -%} {{ "page buttonpage01" }}
{%- elif states(last_click) == "pressbuttonpage01button08" -%} {{ "page buttonpage01" }}
{%- elif states(last_click) == "pressbuttonpage02button01" -%} {{ "page buttonpage02" }}
{%- elif states(last_click) == "pressbuttonpage02button02" -%} {{ "page buttonpage02" }}
{%- elif states(last_click) == "pressbuttonpage02button03" -%} {{ "page buttonpage02" }}
{%- elif states(last_click) == "pressbuttonpage02button04" -%} {{ "page buttonpage02" }}
{%- elif states(last_click) == "pressbuttonpage02button05" -%} {{ "page buttonpage02" }}
{%- elif states(last_click) == "pressbuttonpage02button06" -%} {{ "page buttonpage02" }}
{%- elif states(last_click) == "pressbuttonpage02button07" -%} {{ "page buttonpage02" }}
{%- elif states(last_click) == "pressbuttonpage02button08" -%} {{ "page buttonpage02" }}
{%- elif states(last_click) == "pressbuttonpage03button01" -%} {{ "page buttonpage03" }}
{%- elif states(last_click) == "pressbuttonpage03button02" -%} {{ "page buttonpage03" }}
{%- elif states(last_click) == "pressbuttonpage03button03" -%} {{ "page buttonpage03" }}
{%- elif states(last_click) == "pressbuttonpage03button04" -%} {{ "page buttonpage03" }}
{%- elif states(last_click) == "pressbuttonpage03button05" -%} {{ "page buttonpage03" }}
{%- elif states(last_click) == "pressbuttonpage03button06" -%} {{ "page buttonpage03" }}
{%- elif states(last_click) == "pressbuttonpage03button07" -%} {{ "page buttonpage03" }}
{%- elif states(last_click) == "pressbuttonpage03button08" -%} {{ "page buttonpage03" }}
{%- elif states(last_click) == "pressbuttonpage04button01" -%} {{ "page buttonpage04" }}
{%- elif states(last_click) == "pressbuttonpage04button02" -%} {{ "page buttonpage04" }}
{%- elif states(last_click) == "pressbuttonpage04button03" -%} {{ "page buttonpage04" }}
{%- elif states(last_click) == "pressbuttonpage04button04" -%} {{ "page buttonpage04" }}
{%- elif states(last_click) == "pressbuttonpage04button05" -%} {{ "page buttonpage04" }}
{%- elif states(last_click) == "pressbuttonpage04button06" -%} {{ "page buttonpage04" }}
{%- elif states(last_click) == "pressbuttonpage04button07" -%} {{ "page buttonpage04" }}
{%- elif states(last_click) == "pressbuttonpage04button08" -%} {{ "page buttonpage04" }}
{%- endif -%}
########################################################################################################################
# main - alias: "choose alias (name)"
- choose:
##### NSPanel boot init #####
- conditions:
- condition: trigger
id: nspanel_boot_init
sequence:
##### NSPanel boot init start #####
- delay:
milliseconds: 100
- service: "{{ command_text_printf }}"
data:
component: home.loading
message: "Loading - PLS WAIT!"
##### NSPanel boot init Date #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.date
message: "{{ date01_mui }}"
##### NSPanel boot init buttons #####
- delay:
milliseconds: "{{ delay_value }}"
- repeat:
for_each:
- entity: "{{ entity01 }}"
button_label: "{{ entity01_name }}"
button: buttonpage01.button01
- entity: "{{ entity02 }}"
button_label: "{{ entity02_name }}"
button: buttonpage01.button02
- entity: "{{ entity03 }}"
button_label: "{{ entity03_name }}"
button: buttonpage01.button03
- entity: "{{ entity04 }}"
button_label: "{{ entity04_name }}"
button: buttonpage01.button04
- entity: "{{ entity05 }}"
button_label: "{{ entity05_name }}"
button: buttonpage01.button05
- entity: "{{ entity06 }}"
button_label: "{{ entity06_name }}"
button: buttonpage01.button06
- entity: "{{ entity07 }}"
button_label: "{{ entity07_name }}"
button: buttonpage01.button07
- entity: "{{ entity08 }}"
button_label: "{{ entity08_name }}"
button: buttonpage01.button08
- entity: "{{ entity09 }}"
button_label: "{{ entity09_name }}"
button: buttonpage02.button01
- entity: "{{ entity10 }}"
button_label: "{{ entity10_name }}"
button: buttonpage02.button02
- entity: "{{ entity11 }}"
button_label: "{{ entity11_name }}"
button: buttonpage02.button03
- entity: "{{ entity12 }}"
button_label: "{{ entity12_name }}"
button: buttonpage02.button04
- entity: "{{ entity13 }}"
button_label: "{{ entity13_name }}"
button: buttonpage02.button05
- entity: "{{ entity14 }}"
button_label: "{{ entity14_name }}"
button: buttonpage02.button06
- entity: "{{ entity15 }}"
button_label: "{{ entity15_name }}"
button: buttonpage02.button07
- entity: "{{ entity16 }}"
button_label: "{{ entity16_name }}"
button: buttonpage02.button08
- entity: "{{ entity17 }}"
button_label: "{{ entity17_name }}"
button: buttonpage03.button01
- entity: "{{ entity18 }}"
button_label: "{{ entity18_name }}"
button: buttonpage03.button02
- entity: "{{ entity19 }}"
button_label: "{{ entity19_name }}"
button: buttonpage03.button03
- entity: "{{ entity20 }}"
button_label: "{{ entity20_name }}"
button: buttonpage03.button04
- entity: "{{ entity21 }}"
button_label: "{{ entity21_name }}"
button: buttonpage03.button05
- entity: "{{ entity22 }}"
button_label: "{{ entity22_name }}"
button: buttonpage03.button06
- entity: "{{ entity23 }}"
button_label: "{{ entity23_name }}"
button: buttonpage03.button07
- entity: "{{ entity24 }}"
button_label: "{{ entity24_name }}"
button: buttonpage03.button08
- entity: "{{ entity25 }}"
button_label: "{{ entity17_name }}"
button: buttonpage04.button01
- entity: "{{ entity26 }}"
button_label: "{{ entity26_name }}"
button: buttonpage04.button02
- entity: "{{ entity27 }}"
button_label: "{{ entity27_name }}"
button: buttonpage04.button03
- entity: "{{ entity28 }}"
button_label: "{{ entity28_name }}"
button: buttonpage04.button04
- entity: "{{ entity29 }}"
button_label: "{{ entity29_name }}"
button: buttonpage04.button05
- entity: "{{ entity30 }}"
button_label: "{{ entity30_name }}"
button: buttonpage04.button06
- entity: "{{ entity31 }}"
button_label: "{{ entity31_name }}"
button: buttonpage04.button07
- entity: "{{ entity32 }}"
button_label: "{{ entity32_name }}"
button: buttonpage04.button08
sequence:
- if:
- condition: template
value_template: '{{ repeat.item.entity|length > 0 and states[repeat.item.entity].state != "unavailable" }}'
then:
- variables:
component_to_update: "{{ repeat.item.button }}"
# Button PIC
btn_pic: >-
{%- if repeat.item.entity is match "light." and states[repeat.item.entity].state == 'on' -%} {{ button_light_on }}
{%- elif repeat.item.entity is match "light." and states[repeat.item.entity].state == 'off' -%} {{ button_light_off }}
{%- elif repeat.item.entity is match "switch." and states[repeat.item.entity].state == 'on' -%} {{ button_switch_on }}
{%- elif repeat.item.entity is match "switch." and states[repeat.item.entity].state == 'off' -%} {{ button_switch_off }}
{%- elif repeat.item.entity is match "input_boolean." and states[repeat.item.entity].state == 'on' -%} {{ button_switch_on }}
{%- elif repeat.item.entity is match "input_boolean." and states[repeat.item.entity].state == 'off' -%} {{ button_switch_off }}
{%- elif repeat.item.entity is match "cover." and states[repeat.item.entity].state == 'open' -%} {{ button_cover_on }}
{%- elif repeat.item.entity is match "cover." and states[repeat.item.entity].state == 'closed' -%} {{ button_cover_off }}
{%- endif -%}
# TEXT and BRIGHTNESS Background
btn_bg: >-
{%- if states[repeat.item.entity].state == 'on' or states[repeat.item.entity].state == 'open' -%} {{ button_color_1 }}
{%- elif states[repeat.item.entity].state == 'off' or states[repeat.item.entity].state == 'closed' -%} {{ button_color_2 }}
{%- endif -%}
# TEXT Font
btn_txt_font: >-
{%- if states[repeat.item.entity].state == 'on' or states[repeat.item.entity].state == 'open' -%} {{ button_color_2 }}
{%- elif states[repeat.item.entity].state == 'off' or states[repeat.item.entity].state == 'closed' -%} {{ button_color_1 }}
{%- endif -%}
# BRIGHTNESS Font
btn_bri_font: "{{ button_color_2 }}"
# BTN Label
btn_label: "{{ repeat.item.button_label }}"
btn_bri_txt: >-
{%- if repeat.item.entity is match "light." and states(repeat.item.entity) == 'on' and state_attr(repeat.item.entity, "brightness") != None -%} {{ (state_attr(repeat.item.entity, "brightness") | int * 100 /255) | round(0) }}%
{%- elif repeat.item.entity is match "cover." and states(repeat.item.entity) == 'open' and state_attr(repeat.item.entity, "current_position") != None -%} {{ (state_attr(repeat.item.entity, "current_position") | int(100)) | round(0) }}%
{%- else -%} 0
{%- endif -%}
##### SET Buttons ####
#
##### Button PIC #####
- service: "{{ command_printf }}"
data:
cmd: "{{ component_to_update }}pic.pic={{ btn_pic }}"
##### TEXT Background #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_background_color }}"
data:
component: "{{ component_to_update }}text"
message: "{{ btn_bg }}"
##### TEXT Font Color #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_font_color }}"
data:
component: "{{ component_to_update }}text"
message: "{{ btn_txt_font }}"
##### BRIGHTNESS Background Color #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_background_color }}"
data:
component: "{{ component_to_update }}bri"
message: "{{ btn_bg }}"
##### BRIGHTNESS Font Color #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_font_color }}"
data:
component: "{{ component_to_update }}bri"
message: "{{ btn_bri_font }}"
##### "TEXT" Label #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: "{{ component_to_update }}text"
message: "{{ btn_label }}"
##### "BRIGHTNESS" Text #####
- delay:
milliseconds: "{{ delay_value }}"
- if:
- condition: template
value_template: "{{ btn_bri_txt == 0 }}"
then:
- service: "{{ command_text_printf }}"
data:
component: "{{ component_to_update }}bri"
message: " "
else:
- service: "{{ command_text_printf }}"
data:
component: "{{ component_to_update }}bri"
message: "{{ btn_bri_txt }}"
##### NSPanel boot init - Time #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.time
message: "{{ time }}"
##### NSPanel boot init - Humidity #####
- if:
- condition: template
value_template: '{{ humidity is match "sensor." and states(humidity).state != "unavailable" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.humidity_state
message: "{{ states(humidity) |round(0) }}%"
##### NSPanel boot init - Hotwater #####
- if:
- condition: template
value_template: '{{ hotwatertemp is match "sensor." and states(hotwatertemp).state != "unavailable" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.hotwater_pic.pic={{ hotwater_pic_on }}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.hotwater_temp
message: "{{ states(hotwatertemp) |round(1) }}°"
##### NSPanel boot init - Outdoor Temp #####
- variables:
outdoor_temp: >-
{%- if outdoortemp is match "sensor." and states(hotwatertemp).state != "unavailable" -%} {{ states(outdoortemp) |round(0) }}
{%- elif weather == "Default" and state_attr(ha_weather, "temperature") != None -%} {{state_attr(ha_weather,"temperature") | round(0)}}
{%- elif weather == "AccuWeather" and state_attr(accuweather_value, "temperature") != None -%} {{state_attr(accuweather_value,"temperature") | round(0)}}
{%- else -%} 0
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.outdoor_temp
message: "{{ outdoor_temp }}°"
##### Weather Icon Home Page
- variables:
weather_pic: >-
{%- if states(weather_entity) == 'sunny' -%} {{ weather_sunny }}
{%- elif states(weather_entity) == 'cloudy' -%} {{ weather_cloudy }}
{%- elif states(weather_entity) == 'rainy' -%} {{ weather_rainy }}
{%- elif states(weather_entity) == 'pouring' -%} {{ weather_pouring }}
{%- elif states(weather_entity) == 'snowy' -%} {{ weather_snowy }}
{%- elif states(weather_entity) == 'hail' -%} {{ weather_hail }}
{%- elif states(weather_entity) == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif states(weather_entity) == 'fog' -%} {{ weather_fog }}
{%- elif states(weather_entity) == 'windy' -%} {{ weather_windy }}
{%- elif states(weather_entity) == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif states(weather_entity) == 'lightning' -%} {{ weather_lightning }}
{%- elif states(weather_entity) == 'partlycloudy' and states('sun.sun') == 'above_horizon' -%} {{ weather_partlycloudy_day }}
{%- elif states(weather_entity) == 'partlycloudy' and states('sun.sun') == 'below_horizon' -%} {{ weather_partlycloudy_night }}
{%- elif states(weather_entity) == 'lightning-rainy' and states('sun.sun') == 'above_horizon' -%} {{ weather_lightning_rainy_day }}
{%- elif states(weather_entity) == 'lightning-rainy' and states('sun.sun') == 'below_horizon' -%} {{ weather_lightning_rainy_night }}
{%- elif states(weather_entity) == 'execptional' and states('sun.sun') == 'above_horizon' -%} {{ weather_execptional_day }}
{%- elif states(weather_entity) == 'execptional' and states('sun.sun') == 'below_horizon' -%} {{ weather_execptional_night }}
{%- elif states(weather_entity) == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.weather.pic={{ weather_pic }}
##### NSPanel boot init - Left Button Name #####
- if:
- condition: template
value_template: '{{ left_button_name |length > 0 }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.left_bt_text
message: "{{ left_button_name }}"
##### SET Left Hardware Button PIC on Home Page ####
- if:
- condition: template
value_template: '{{ left_button_entity |length > 0 and states(left_button_entity).state != "unavailable" }}'
then:
- variables:
# Hardware Button PIC
left_hardware_button_state: >-
{%- if states(left_button_entity) == 'off' -%} {{ hardware_button_pic_off }}
{%- elif states(left_button_entity) == 'on' -%} {{ hardware_button_pic_on }}
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.left_bt_pic.pic={{ left_hardware_button_state }}
##### NSPanel boot init - Right Button Name #####
- if:
- condition: template
value_template: '{{ right_button_name |length > 0 }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.right_bt_text
message: "{{ right_button_name }}"
###### SET Right Hardware Button PIC on Home Page #####
- if:
- condition: template
value_template: '{{ right_button_entity |length > 0 and states(right_button_entity).state != "unavailable" }}'
then:
- variables:
# Hardware Button PIC
right_hardware_button_state: >-
{%- if states(right_button_entity) == 'off' -%} {{ hardware_button_pic_off }}
{%- elif states(right_button_entity) == 'on' -%} {{ hardware_button_pic_on }}
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.right_bt_pic.pic={{ right_hardware_button_state }}
###### StatusBar - Climate Symbol ######
- if:
- condition: template
value_template: '{{ climate |length > 0 }}'
then:
- variables:
top_menu_climate: >-
{%- if states(climate) == "heat" and state_attr(climate, "hvac_action") != None and state_attr(climate, "hvac_action") == "heating" -%} {{ heat_pic_on }}
{%- elif states(climate) == "heat" -%} {{ thermostat_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_03.pic={{ top_menu_climate }}
###### StatusBar - Relay Symbols ######
- variables:
relay01_pic: >-
{%- if states(relay01_entity) == 'on' -%} {{ relay01_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
relay02_pic: >-
{%- if states(relay02_entity) == 'on' -%} {{ relay02_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_01.pic={{ relay01_pic }}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_02.pic={{ relay02_pic }}
##### NSPanel boot init finished #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.loading
message: " "
###### StatusBar - Icon 04 ######
- if:
- condition: template
value_template: '{{ heatingsystemflame |length > 0 }}'
then:
- variables:
flame_pic: >-
{%- if states(heatingsystemflame) == "on" -%} {{ flame_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_04.pic={{ flame_pic }}
#### TFT Upload Automation #####
- conditions:
- condition: trigger
id: tft_upload
sequence:
- delay:
seconds: 2
- service: "{{ tft_upload }}"
data: {}
##### Update Button Page and Lightsettings / Coversettings Page #####
- conditions:
- condition: trigger
id:
- current_state_entity01
- current_state_entity02
- current_state_entity03
- current_state_entity04
- current_state_entity05
- current_state_entity06
- current_state_entity07
- current_state_entity08
- current_state_entity09
- current_state_entity10
- current_state_entity11
- current_state_entity12
- current_state_entity13
- current_state_entity14
- current_state_entity15
- current_state_entity16
- current_state_entity17
- current_state_entity18
- current_state_entity19
- current_state_entity20
- current_state_entity21
- current_state_entity22
- current_state_entity23
- current_state_entity24
- current_state_entity25
- current_state_entity26
- current_state_entity27
- current_state_entity28
- current_state_entity29
- current_state_entity30
- current_state_entity31
- current_state_entity32
sequence:
- alias: "Set variable(s) for entity change"
variables:
component_to_update: >-
{%- if trigger.entity_id == entity01 -%} buttonpage01.button01
{%- elif trigger.entity_id == entity02 -%} buttonpage01.button02
{%- elif trigger.entity_id == entity03 -%} buttonpage01.button03
{%- elif trigger.entity_id == entity04 -%} buttonpage01.button04
{%- elif trigger.entity_id == entity05 -%} buttonpage01.button05
{%- elif trigger.entity_id == entity06 -%} buttonpage01.button06
{%- elif trigger.entity_id == entity07 -%} buttonpage01.button07
{%- elif trigger.entity_id == entity08 -%} buttonpage01.button08
{%- elif trigger.entity_id == entity09 -%} buttonpage02.button01
{%- elif trigger.entity_id == entity10 -%} buttonpage02.button02
{%- elif trigger.entity_id == entity11 -%} buttonpage02.button03
{%- elif trigger.entity_id == entity12 -%} buttonpage02.button04
{%- elif trigger.entity_id == entity13 -%} buttonpage02.button05
{%- elif trigger.entity_id == entity14 -%} buttonpage02.button06
{%- elif trigger.entity_id == entity15 -%} buttonpage02.button07
{%- elif trigger.entity_id == entity16 -%} buttonpage02.button08
{%- elif trigger.entity_id == entity17 -%} buttonpage03.button01
{%- elif trigger.entity_id == entity18 -%} buttonpage03.button02
{%- elif trigger.entity_id == entity19 -%} buttonpage03.button03
{%- elif trigger.entity_id == entity20 -%} buttonpage03.button04
{%- elif trigger.entity_id == entity21 -%} buttonpage03.button05
{%- elif trigger.entity_id == entity22 -%} buttonpage03.button06
{%- elif trigger.entity_id == entity23 -%} buttonpage03.button07
{%- elif trigger.entity_id == entity24 -%} buttonpage03.button08
{%- elif trigger.entity_id == entity25 -%} buttonpage04.button01
{%- elif trigger.entity_id == entity26 -%} buttonpage04.button02
{%- elif trigger.entity_id == entity27 -%} buttonpage04.button03
{%- elif trigger.entity_id == entity28 -%} buttonpage04.button04
{%- elif trigger.entity_id == entity29 -%} buttonpage04.button05
{%- elif trigger.entity_id == entity30 -%} buttonpage04.button06
{%- elif trigger.entity_id == entity31 -%} buttonpage04.button07
{%- elif trigger.entity_id == entity32 -%} buttonpage04.button08
{%- endif -%}
# Button PIC
btn_pic: >-
{%- if trigger.to_state.entity_id is match "light." and trigger.to_state.state == 'on' -%} {{ button_light_on }}
{%- elif trigger.to_state.entity_id is match "light." and trigger.to_state.state == 'off' -%} {{ button_light_off }}
{%- elif trigger.to_state.entity_id is match "switch." and trigger.to_state.state == 'on' -%} {{ button_switch_on }}
{%- elif trigger.to_state.entity_id is match "switch." and trigger.to_state.state == 'off' -%} {{ button_switch_off }}
{%- elif trigger.to_state.entity_id is match "input_boolean." and trigger.to_state.state == 'on' -%} {{ button_switch_on }}
{%- elif trigger.to_state.entity_id is match "input_boolean." and trigger.to_state.state == 'off' -%} {{ button_switch_off }}
{%- elif trigger.to_state.entity_id is match "cover." and trigger.to_state.state == 'open' -%} {{ button_cover_on }}
{%- elif trigger.to_state.entity_id is match "cover." and trigger.to_state.state == 'closed' -%} {{ button_cover_off }}
{%- endif -%}
# TEXT and BRIGHTNESS Background
btn_bg: >-
{%- if trigger.to_state.state == 'on' or trigger.to_state.state == 'open' -%} {{ button_color_1 }}
{%- elif trigger.to_state.state == 'off' or trigger.to_state.state == 'closed' -%} {{ button_color_2 }}
{%- endif -%}
# TEXT Font
btn_txt_font: >-
{%- if trigger.to_state.state == 'on' or trigger.to_state.state == 'open' -%} {{ button_color_2 }}
{%- elif trigger.to_state.state == 'off' or trigger.to_state.state == 'closed' -%} {{ button_color_1 }}
{%- endif -%}
# BRIGHTNESS Font
btn_bri_font: "{{ button_color_2 }}"
# BTN Label
btn_label: >-
{%- if trigger.entity_id == entity01 -%} {{ entity01_name }}
{%- elif trigger.entity_id == entity02 -%} {{ entity02_name }}
{%- elif trigger.entity_id == entity03 -%} {{ entity03_name }}
{%- elif trigger.entity_id == entity04 -%} {{ entity04_name }}
{%- elif trigger.entity_id == entity05 -%} {{ entity05_name }}
{%- elif trigger.entity_id == entity06 -%} {{ entity06_name }}
{%- elif trigger.entity_id == entity07 -%} {{ entity07_name }}
{%- elif trigger.entity_id == entity08 -%} {{ entity08_name }}
{%- elif trigger.entity_id == entity09 -%} {{ entity09_name }}
{%- elif trigger.entity_id == entity10 -%} {{ entity10_name }}
{%- elif trigger.entity_id == entity11 -%} {{ entity11_name }}
{%- elif trigger.entity_id == entity12 -%} {{ entity12_name }}
{%- elif trigger.entity_id == entity13 -%} {{ entity13_name }}
{%- elif trigger.entity_id == entity14 -%} {{ entity14_name }}
{%- elif trigger.entity_id == entity15 -%} {{ entity15_name }}
{%- elif trigger.entity_id == entity16 -%} {{ entity16_name }}
{%- elif trigger.entity_id == entity17 -%} {{ entity17_name }}
{%- elif trigger.entity_id == entity18 -%} {{ entity18_name }}
{%- elif trigger.entity_id == entity19 -%} {{ entity19_name }}
{%- elif trigger.entity_id == entity20 -%} {{ entity20_name }}
{%- elif trigger.entity_id == entity21 -%} {{ entity21_name }}
{%- elif trigger.entity_id == entity22 -%} {{ entity22_name }}
{%- elif trigger.entity_id == entity23 -%} {{ entity23_name }}
{%- elif trigger.entity_id == entity24 -%} {{ entity24_name }}
{%- elif trigger.entity_id == entity25 -%} {{ entity25_name }}
{%- elif trigger.entity_id == entity26 -%} {{ entity26_name }}
{%- elif trigger.entity_id == entity27 -%} {{ entity27_name }}
{%- elif trigger.entity_id == entity28 -%} {{ entity28_name }}
{%- elif trigger.entity_id == entity29 -%} {{ entity29_name }}
{%- elif trigger.entity_id == entity30 -%} {{ entity30_name }}
{%- elif trigger.entity_id == entity31 -%} {{ entity31_name }}
{%- elif trigger.entity_id == entity32 -%} {{ entity32_name }}
{%- endif -%}
btn_bri_txt: >-
{%- if trigger.to_state.entity_id is match "light." and trigger.to_state.state == 'on' and trigger.to_state.attributes.brightness is defined -%} {{ (trigger.to_state.attributes.brightness | int * 100 /255) | round(0) }}%
{%- elif trigger.to_state.entity_id is match "cover." and trigger.to_state.state == 'open' and trigger.to_state.attributes.current_position is defined -%} {{ (trigger.to_state.attributes.current_position | int) | round(0) }}%
{%- else -%} 0
{%- endif -%}
##### Button PIC #####
- service: "{{ command_printf }}"
data:
cmd: "{{ component_to_update }}pic.pic={{ btn_pic }}"
##### TEXT Background #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_background_color }}"
data:
component: "{{ component_to_update }}text"
message: "{{ btn_bg }}"
##### TEXT Font Color #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_font_color }}"
data:
component: "{{ component_to_update }}text"
message: "{{ btn_txt_font }}"
##### BRIGHTNESS Background Color #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_background_color }}"
data:
component: "{{ component_to_update }}bri"
message: "{{ btn_bg }}"
##### BRIGHTNESS Font Color #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_font_color }}"
data:
component: "{{ component_to_update }}bri"
message: "{{ btn_bri_font }}"
##### "TEXT" Label #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: "{{ component_to_update }}text"
message: "{{ btn_label }}"
##### "BRIGHTNESS" Text #####
- if:
- condition: template
value_template: "{{ btn_bri_txt == 0 }}"
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: "{{ component_to_update }}bri"
message: " "
else:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: "{{ component_to_update }}bri"
message: "{{ btn_bri_txt }}"
##### UPDATE LIGHTSETTING / COVERSETTING PAGE
- choose:
##### LIGHTSETTINGS PAGE - LIGHT Entity #####
- conditions:
- condition: template
value_template: '{{ entity_long is match "light." }}'
sequence:
- choose:
##### LIGHT ON / OFF
- conditions:
- condition: template
value_template: '{{ states(entity_long) == "on" }}'
sequence:
##### LIGHT PIC - ON #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: lightsettings.light_status.pic={{ light_pic_on }}
##### LIGHT Brightness Slider HA Sync - YES #####
- if:
- condition: template
value_template: '{{ sync_slider_ha == "select_yes" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_value }}"
data:
component: lightsettings.lightslider
message: '{{ (state_attr(entity_long, "brightness") | int ) |round(0) }}'
##### LIGHT Temp Slider HA Sync - YES #####
- if:
- condition: template
value_template: '{{ sync_slider_ha == "select_yes" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_value }}"
data:
component: lightsettings.tempslider
message: '{{ (state_attr(entity_long, "color_temp") | int ) |round(0) }}'
##### LIGHT Brightness Value HA Sync - YES #####
- if:
- condition: template
value_template: '{{ sync_value_ha == "select_yes" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_value
message: '{{ (state_attr(entity_long, "brightness") | int * 100 / 255) |round(0) }}%'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_value_2
message: '{{ (state_attr(entity_long, "brightness") | int * 100 / 255) |round(0) }}%'
##### LIGHT Temp Value HA Sync - YES #####
- if:
- condition: template
value_template: '{{ sync_value_ha == "select_yes" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.temp_value
message: '{{ (state_attr(entity_long, "color_temp") | int ) |round(0) }}'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.temp_value_2
message: '{{ (state_attr(entity_long, "color_temp") | int ) |round(0) }}'
##### LIGHT - OFF #####
- conditions:
- condition: template
value_template: '{{ states(entity_long) == "off" }}'
sequence:
##### LIGHT PIC - OFF #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: lightsettings.light_status.pic={{ light_pic_off }}
##### LIGHT Brightness Slider HA Sync - YES #####
- if:
- condition: template
value_template: '{{ sync_slider_ha == "select_yes" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_value }}"
data:
component: lightsettings.lightslider
message: '0'
##### LIGHT Brightness Value HA Sync - YES #####
- if:
- condition: template
value_template: '{{ sync_value_ha == "select_yes" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_value
message: '0 %'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_value_2
message: '0 %'
##### COVERSETTINGS PAGE - COVER Entity #####
- conditions:
- condition: template
value_template: '{{ entity_long is match "cover." }}'
sequence:
##### COVER OPEN #####
- choose:
##### Cover PIC - OPEN #####
- conditions:
- condition: template
value_template: '{{ states(entity_long) == "open" }}'
sequence:
##### COVER PIC - OPEN
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: coversettings.cover_status.pic={{ cover_pic_open }}
##### Cover Slider HA Sync - YES #####
- if:
- condition: template
value_template: '{{ sync_slider_ha == "select_yes" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_value }}"
data:
component: coversettings.coverslider
message: '{{ (state_attr(entity_long, "current_position") | int ) |round(0) }}'
##### Cover Value HA Sync - YES #####
- if:
- condition: template
value_template: '{{ sync_value_ha == "select_yes" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: coversettings.cover_value
message: '{{ (state_attr(entity_long, "current_position") | int ) |round(0) }} %'
##### Cover - Closed #####
- conditions:
- condition: template
value_template: '{{ states(entity_long) == "closed" }}'
sequence:
##### COVER PIC - CLOSED
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: coversettings.cover_status.pic={{ cover_pic_closed }}
##### Cover Slider HA Sync - YES #####
- if:
- condition: template
value_template: '{{ sync_slider_ha == "select_yes" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_value }}"
data:
component: coversettings.coverslider
message: '0'
##### Cover Value HA Sync - YES #####
- if:
- condition: template
value_template: '{{ sync_value_ha == "select_yes" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: coversettings.cover_value
message: '0 %'
##### Page Button - SHORT Press - Toggle Enities #####
- conditions:
- condition: trigger
id: short_press
sequence:
- variables:
##### Entity - Page Button - Toggle Entity #####
entity_short: >-
{%- if states(last_click) == "releasebuttonpage01button01" -%} {{ entity01 }}
{%- elif states(last_click) == "releasebuttonpage01button02" -%} {{ entity02 }}
{%- elif states(last_click) == "releasebuttonpage01button03" -%} {{ entity03 }}
{%- elif states(last_click) == "releasebuttonpage01button04" -%} {{ entity04 }}
{%- elif states(last_click) == "releasebuttonpage01button05" -%} {{ entity05 }}
{%- elif states(last_click) == "releasebuttonpage01button06" -%} {{ entity06 }}
{%- elif states(last_click) == "releasebuttonpage01button07" -%} {{ entity07 }}
{%- elif states(last_click) == "releasebuttonpage01button08" -%} {{ entity08 }}
{%- elif states(last_click) == "releasebuttonpage02button01" -%} {{ entity09 }}
{%- elif states(last_click) == "releasebuttonpage02button02" -%} {{ entity10 }}
{%- elif states(last_click) == "releasebuttonpage02button03" -%} {{ entity11 }}
{%- elif states(last_click) == "releasebuttonpage02button04" -%} {{ entity12 }}
{%- elif states(last_click) == "releasebuttonpage02button05" -%} {{ entity13 }}
{%- elif states(last_click) == "releasebuttonpage02button06" -%} {{ entity14 }}
{%- elif states(last_click) == "releasebuttonpage02button07" -%} {{ entity15 }}
{%- elif states(last_click) == "releasebuttonpage02button08" -%} {{ entity16 }}
{%- elif states(last_click) == "releasebuttonpage03button01" -%} {{ entity17 }}
{%- elif states(last_click) == "releasebuttonpage03button02" -%} {{ entity18 }}
{%- elif states(last_click) == "releasebuttonpage03button03" -%} {{ entity19 }}
{%- elif states(last_click) == "releasebuttonpage03button04" -%} {{ entity20 }}
{%- elif states(last_click) == "releasebuttonpage03button05" -%} {{ entity21 }}
{%- elif states(last_click) == "releasebuttonpage03button06" -%} {{ entity22 }}
{%- elif states(last_click) == "releasebuttonpage03button07" -%} {{ entity23 }}
{%- elif states(last_click) == "releasebuttonpage03button08" -%} {{ entity24 }}
{%- elif states(last_click) == "releasebuttonpage04button01" -%} {{ entity25 }}
{%- elif states(last_click) == "releasebuttonpage04button02" -%} {{ entity26 }}
{%- elif states(last_click) == "releasebuttonpage04button03" -%} {{ entity27 }}
{%- elif states(last_click) == "releasebuttonpage04button04" -%} {{ entity28 }}
{%- elif states(last_click) == "releasebuttonpage04button05" -%} {{ entity29 }}
{%- elif states(last_click) == "releasebuttonpage04button06" -%} {{ entity30 }}
{%- elif states(last_click) == "releasebuttonpage04button07" -%} {{ entity31 }}
{%- elif states(last_click) == "releasebuttonpage04button08" -%} {{ entity32 }}
{%- endif -%}
- service: >-
{% if entity_short is match 'light.' %}
light.toggle
{% elif entity_short is match 'switch.' %}
switch.toggle
{% elif entity_short is match 'cover.' %}
cover.toggle
{% elif entity_short is match 'input_boolean.' %}
input_boolean.toggle
{% endif %}
data:
entity_id: "{{ entity_short }}"
##### Page Button - LONG Press - JUMP to Page Lightsettings / Coversettings #####
- conditions:
- condition: trigger
id: long_press
sequence:
- choose:
##### LONG Press - LIGHT Entity #####
- conditions:
- condition: template
value_template: '{{ entity_long is match "light." }}'
sequence:
##### LIGHT Generel Values #####
- service: "{{ command_printf }}"
data:
cmd: page lightsettings
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_name
message: '{{ entity_long_name }}'
- delay:
milliseconds: "{{ delay_value }}"
- if:
- condition: template
value_template: "{{ state_attr(entity_long, 'brightness') != none }}"
then:
- service: "{{ command_value }}"
data:
component: lightsettings.lightslider
message: '{{ (state_attr(entity_long, "brightness") | int ) |round(0) }}'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_value
message: '{{ (state_attr(entity_long, "brightness") | int * 100 /255) | round(0) }}%'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_value_2
message: '{{ (state_attr(entity_long, "brightness") | int * 100 /255) | round(0) }}%'
else:
- service: "{{ command_value }}"
data:
component: lightsettings.lightslider
message: '0'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_value
message: '0 %'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_value_2
message: '0 %'
##### LIGHT Check Color_Temp Value is available when yes send some current Values #####
- if:
- condition: template
value_template: "{{ state_attr(entity_long, 'color_temp') != none }}"
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.temp_value
message: '{{ (state_attr(entity_long, "color_temp") | int ) |round(0) }}'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.temp_value_2
message: '{{ (state_attr(entity_long, "color_temp") | int ) |round(0) }}'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_value }}"
data:
component: lightsettings.tempslider
message: '{{ (state_attr(entity_long, "color_temp") | int ) |round(0) }}'
##### LIGHT ON / OFF #####
- choose:
##### LIGHT PIC - ON #####
- conditions:
- condition: template
value_template: '{{ states(entity_long) == "on" }}'
sequence:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: lightsettings.light_status.pic={{ light_pic_on }}
##### LIGHT PIC - OFF #####
- conditions:
- condition: template
value_template: '{{ states(entity_long) == "off" }}'
sequence:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: lightsettings.light_status.pic={{ light_pic_off }}
##### LONG Press - COVER Entity #####
- conditions:
- condition: template
value_template: '{{ entity_long is match "cover." }}'
sequence:
##### COVER Generel Values #####
- service: "{{ command_printf }}"
data:
cmd: page coversettings
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_value }}"
data:
component: coversettings.coverslider
message: '{{ (state_attr(entity_long, "current_position") | int ) |round(0) }}'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: coversettings.cover_value
message: '{{ (state_attr(entity_long, "current_position") | int ) |round(0) }} %'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: coversettings.cover_name
message: '{{ entity_long_name }}'
##### COVER Battery ICON Yes / NO #####
- if:
- condition: template
value_template: "{{ state_attr(entity_long, 'battery') != none }}"
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: coversettings.battery_value
message: '{{ (state_attr(entity_long, "battery") | int ) |round(0) }} %'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: coversettings.battery_icon.pic={{ battery_icon }}
##### COVER OPEN / CLOSE
- choose:
##### COVER PIC - open #####
- conditions:
- condition: template
value_template: '{{ states(entity_long) == "open" }}'
sequence:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: coversettings.cover_status.pic={{ cover_pic_open }}
##### COVER PIC - Closed
- conditions:
- condition: template
value_template: '{{ states(entity_long) == "closed" }}'
sequence:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: coversettings.cover_status.pic={{ cover_pic_closed }}
##### LASTCLICK_LIGHTSETTINGS - Changes on page Light-Settings #####
- conditions:
- condition: trigger
id: light_settings
sequence:
- choose:
##### Page Lightsettings - Brightness Slider MOVE #####
- conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.state is match "brightness\d+" and trigger.event.data.new_state.state == states(last_click_lightsettings) }}'
sequence:
- service: light.turn_on
data:
entity_id: "{{ entity_long }}"
brightness: '{{ trigger.event.data.new_state.state |replace("brightness","") | int }}'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_value
message: '{{ (trigger.event.data.new_state.state |replace("brightness","") | int * 100 /255) |round(0) }}%'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.light_value_2
message: '{{ (trigger.event.data.new_state.state |replace("brightness","") | int * 100 /255) |round(0) }}%'
##### Page Lightsettings - color_Temp Slider MOVE #####
- conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.state is match "colortemp\d+" and trigger.event.data.new_state.state == states(last_click_lightsettings) }}'
sequence:
- service: light.turn_on
data:
entity_id: "{{ entity_long }}"
color_temp: '{{ trigger.event.data.new_state.state |replace("colortemp","") | int }}'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.temp_value
message: '{{ trigger.event.data.new_state.state |replace("colortemp","") | int }}'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: lightsettings.temp_value_2
message: '{{ trigger.event.data.new_state.state |replace("colortemp","") | int }}'
##### Page Lightsettings - Color RGB Slider MOVE #####
- conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.state is match "\d+,\d+,\d+" }}'
sequence:
- service: light.turn_on
data:
entity_id: "{{ entity_long }}"
rgb_color: '{{ trigger.event.data.new_state.state.split(",") }}'
##### Page Lightsettings - Close Lightsetting Page #####
- conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.state == "releaselightsettingsclose" }}'
sequence:
- service: "{{ command_printf }}"
data:
cmd: "{{ entity_back }}"
##### LASTCLICK_COVERSETTINGS - Changes on page Cover-Settings #####
- conditions:
- condition: trigger
id: cover_settings
sequence:
- choose:
##### Page Coversettings - Cover Slider MOVE #####
- conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.state is match "coverposition\d+" and trigger.event.data.new_state.state == states(last_click_coversettings) }}'
sequence:
- service: cover.set_cover_position
data:
entity_id: "{{ entity_long }}"
position: '{{ trigger.event.data.new_state.state |replace("coverposition","") | int }}'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: coversettings.cover_value
message: '{{ trigger.event.data.new_state.state |replace("coverposition","") | int }} %'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: coversettings.cover_value_2
message: '{{ trigger.event.data.new_state.state |replace("coverposition","") | int }} %'
##### Page Coversettings - Cover CLOSE Button #####
- conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.state == "cover_close_press" }}'
sequence:
- service: cover.close_cover
data:
entity_id: "{{ entity_long }}"
##### Page Coversettings - Cover OPEN Button #####
- conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.state == "cover_open_press" }}'
sequence:
- service: cover.open_cover
data:
entity_id: "{{ entity_long }}"
##### Page Coversettings - Cover STOP Button #####
- conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.state == "cover_stop_press" }}'
sequence:
- service: cover.stop_cover
data:
entity_id: "{{ entity_long }}"
##### Page Coversettings - Close Coversettings Page #####
- conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.state == "releasecoversettingsclose" }}'
sequence:
- service: "{{ command_printf }}"
data:
cmd: "{{ entity_back }}"
##### LASTCLICK_CLIMATESETTINGS - Changes on page Climate-Settings #####
- conditions:
- condition: trigger
id: climate_settings
sequence:
- choose:
##### Page Climatesettings - hotwater #####
- conditions: '{{ trigger.event.data.new_state.state == "releasehotwater" }}'
sequence:
- service: >-
{% if hotwatercharge is match 'switch.' %}
switch.toggle
{% elif hotwatercharge is match 'input_boolean.' %}
input_boolean.toggle
{% endif %}
data:
entity_id: "{{ hotwatercharge }}"
##### Page Climatesettings - heating #####
- conditions: '{{ trigger.event.data.new_state.state == "releaseheating" }}'
sequence:
- if:
- condition: template
value_template: '{{ states(climate) == "off" }}'
then:
- service: climate.turn_on ############
data:
entity_id: !input climate
# - service: climate.set_temperature
# data:
# entity_id: !input climate
# hvac_mode: 'heat'
# temperature: "{{ state_attr(climate, 'temperature') }}"
else:
- service: climate.turn_off ############
data:
entity_id: !input climate
# - service: climate.set_temperature
# data:
# entity_id: !input climate
# hvac_mode: 'off'
# temperature: "{{ state_attr(climate, 'temperature') }}"
##### Page Climatesettings - decreasetemp #####
- conditions: '{{ trigger.event.data.new_state.state == "releasedecreasetemp" }}'
sequence:
- if:
- condition: template
value_template: '{{ states(climate) != "off" }}'
then:
- if:
- condition: template
value_template: '{{ climate_optimistic == true }}'
then:
- variables:
current_setpoint: "{{states(display_target_temperature) | round(1)}}"
- service: "{{ command_thermostat_cycle }}"
data:
value: "{{ current_setpoint -0.5 }}"
else:
- variables:
current_setpoint: "{{state_attr(climate, 'temperature') | round(1)}}"
- service: climate.set_temperature
data:
entity_id: !input climate
#hvac_mode: 'heat'
temperature: "{{ current_setpoint -0.5 }}"
##### Page Climatesettings - increasetemp #####
- conditions: '{{ trigger.event.data.new_state.state == "releaseincreasetemp" }}'
sequence:
- if:
- condition: template
value_template: '{{ states(climate) != "off" }}'
then:
- variables:
current_setpoint: "{{state_attr(climate, 'temperature') | round(1)}}"
- if:
- condition: template
value_template: '{{ climate_optimistic == true }}'
then:
- variables:
current_setpoint: "{{states(display_target_temperature) | round(1)}}"
- service: "{{ command_thermostat_cycle }}"
data:
value: "{{ current_setpoint +0.5 }}"
else:
- variables:
current_setpoint: "{{state_attr(climate, 'temperature') | round(1)}}"
- service: climate.set_temperature
data:
entity_id: !input climate
#hvac_mode: 'heat'
temperature: "{{ current_setpoint +0.5 }}"
##### Page Climatesettings - climateslider #####
- conditions: '{{ trigger.event.data.new_state.state is match "climateslider\d+" and trigger.event.data.new_state.state == states(last_click_climatesettings) }}'
sequence:
- if:
- condition: template
value_template: '{{ states(climate) != "off" }}'
then:
- variables:
#climateslider: '{{ trigger.event.data.new_state.state |replace("climateslider","") | int }}'
new_setpoint: >-
{%- if trigger.event.data.new_state.state == "climateslider0" -%} 13.0
{%- elif trigger.event.data.new_state.state == "climateslider1" -%} 13.5
{%- elif trigger.event.data.new_state.state == "climateslider2" -%} 14
{%- elif trigger.event.data.new_state.state == "climateslider3" -%} 14.5
{%- elif trigger.event.data.new_state.state == "climateslider4" -%} 15
{%- elif trigger.event.data.new_state.state == "climateslider5" -%} 15.5
{%- elif trigger.event.data.new_state.state == "climateslider6" -%} 16
{%- elif trigger.event.data.new_state.state == "climateslider7" -%} 16.5
{%- elif trigger.event.data.new_state.state == "climateslider8" -%} 17
{%- elif trigger.event.data.new_state.state == "climateslider9" -%} 17.5
{%- elif trigger.event.data.new_state.state == "climateslider10" -%} 18
{%- elif trigger.event.data.new_state.state == "climateslider11" -%} 18.5
{%- elif trigger.event.data.new_state.state == "climateslider12" -%} 19
{%- elif trigger.event.data.new_state.state == "climateslider13" -%} 19.5
{%- elif trigger.event.data.new_state.state == "climateslider14" -%} 20
{%- elif trigger.event.data.new_state.state == "climateslider15" -%} 20.5
{%- elif trigger.event.data.new_state.state == "climateslider16" -%} 21
{%- elif trigger.event.data.new_state.state == "climateslider17" -%} 21.5
{%- elif trigger.event.data.new_state.state == "climateslider18" -%} 22
{%- elif trigger.event.data.new_state.state == "climateslider19" -%} 22.5
{%- elif trigger.event.data.new_state.state == "climateslider20" -%} 23
{%- elif trigger.event.data.new_state.state == "climateslider21" -%} 23.5
{%- elif trigger.event.data.new_state.state == "climateslider22" -%} 24
{%- elif trigger.event.data.new_state.state == "climateslider23" -%} 24.5
{%- elif trigger.event.data.new_state.state == "climateslider24" -%} 25
{%- elif trigger.event.data.new_state.state == "climateslider25" -%} 25.5
{%- elif trigger.event.data.new_state.state == "climateslider26" -%} 26
{%- elif trigger.event.data.new_state.state == "climateslider27" -%} 26.5
{%- elif trigger.event.data.new_state.state == "climateslider28" -%} 27
{%- endif -%}
- if:
- condition: template
value_template: '{{ climate_optimistic == true }}'
then:
- service: "{{ command_thermostat_cycle }}"
data:
value: "{{ new_setpoint }}"
else:
- service: climate.set_temperature
data:
entity_id: !input climate
#hvac_mode: 'heat'
temperature: "{{ new_setpoint }}"
##### Left button press #####
- conditions:
- condition: trigger
id: left_button_press
sequence:
- service: >-
{% if left_button_entity is match 'light.' %}
light.toggle
{% elif left_button_entity is match 'switch.' %}
switch.toggle
{% elif left_button_entity is match 'cover.' %}
cover.toggle
{% elif left_button_entity is match 'input_boolean.' %}
input_boolean.toggle
{% endif %}
data:
entity_id: "{{ left_button_entity }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Left button State #####
- conditions:
- condition: trigger
id: left_button_state
sequence:
###### Left Hardware Button PIC #####
- variables:
# Hardware Button PIC
left_hardware_button_state: >-
{%- if trigger.event.data.new_state.state == 'off' -%} {{ hardware_button_pic_off }}
{%- elif trigger.event.data.new_state.state == 'on' -%} {{ hardware_button_pic_on }}
{%- endif -%}
##### SET Right hardware Button PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: home.left_bt_pic.pic={{ left_hardware_button_state }}
##### Right button press #####
- conditions:
- condition: trigger
id: right_button_press
sequence:
- service: >-
{% if right_button_entity is match 'light.' %}
light.toggle
{% elif right_button_entity is match 'switch.' %}
switch.toggle
{% elif right_button_entity is match 'cover.' %}
cover.toggle
{% elif right_button_entity is match 'input_boolean.' %}
input_boolean.toggle
{% endif %}
data:
entity_id: "{{ right_button_entity }}"
##### Right button State #####
- conditions:
- condition: trigger
id: right_button_state
sequence:
###### Left Hardware Button PIC #####
- variables:
# Hardware Button PIC
right_hardware_button_state: >-
{%- if trigger.event.data.new_state.state == 'off' -%} {{ hardware_button_pic_off }}
{%- elif trigger.event.data.new_state.state == 'on' -%} {{ hardware_button_pic_on }}
{%- endif -%}
##### SET Right hardware Button PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: home.right_bt_pic.pic={{ right_hardware_button_state }}
##### Date and Time Home Page #####
- conditions:
- condition: trigger
id: time_state
sequence:
##### Time Home Page #####
- service: "{{ command_text_printf }}"
data:
component: home.time
message: "{{ time }}"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.date
message: "{{ date01_mui }}"
##### Humidity #####
- conditions:
- condition: trigger
id: humidity_state
sequence:
- service: "{{ command_text_printf }}"
data:
component: home.humidity_state
message: "{{ trigger.event.data.new_state.state |round(0) }}%"
##### Hotwater Temp #####
- conditions:
- condition: trigger
id: hotwatertemp_state
sequence:
- service: "{{ command_text_printf }}"
data:
component: home.hotwater_temp
message: "{{ trigger.event.data.new_state.state |round(1) }}°"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: climate.hotwater_temp
message: "{{ trigger.event.data.new_state.state |round(1) }}°"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.hotwater_pic.pic={{ hotwater_pic_on }}
##### Outdoor Temp Entity #####
- conditions:
- condition: trigger
id: outdoortemp_state
sequence:
- service: "{{ command_text_printf }}"
data:
component: home.outdoor_temp
message: "{{ trigger.event.data.new_state.state |round(0) }}°"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: climate.outdoor_temp
message: "{{ trigger.event.data.new_state.state |round(0) }}°"
##### Weather state change update #####
- conditions:
- condition: trigger
id: weather_state_change
sequence:
- if:
- condition: template
value_template: '{{ outdoortemp is not match "sensor." }}'
then:
- service: "{{ command_text_printf }}"
data:
component: home.outdoor_temp
message: '{{trigger.event.data.new_state.attributes.temperature | round(0)}}°'
- service: "{{ command_text_printf }}"
data:
component: climate.outdoor_temp
message: '{{trigger.event.data.new_state.attributes.temperature | round(0)}}°'
- variables:
weather_pic: >-
{%- if trigger.event.data.new_state.state == 'sunny' -%} {{ weather_sunny }}
{%- elif trigger.event.data.new_state.state == 'cloudy' -%} {{ weather_cloudy }}
{%- elif trigger.event.data.new_state.state == 'rainy' -%} {{ weather_rainy }}
{%- elif trigger.event.data.new_state.state == 'pouring' -%} {{ weather_pouring }}
{%- elif trigger.event.data.new_state.state == 'snowy' -%} {{ weather_snowy }}
{%- elif trigger.event.data.new_state.state == 'hail' -%} {{ weather_hail }}
{%- elif trigger.event.data.new_state.state == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif trigger.event.data.new_state.state == 'fog' -%} {{ weather_fog }}
{%- elif trigger.event.data.new_state.state == 'windy' -%} {{ weather_windy }}
{%- elif trigger.event.data.new_state.state == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif trigger.event.data.new_state.state == 'lightning' -%} {{ weather_lightning }}
{%- elif trigger.event.data.new_state.state == 'partlycloudy' and states('sun.sun') == 'above_horizon' -%} {{ weather_partlycloudy_day }}
{%- elif trigger.event.data.new_state.state == 'partlycloudy' and states('sun.sun') == 'below_horizon' -%} {{ weather_partlycloudy_night }}
{%- elif trigger.event.data.new_state.state == 'lightning-rainy' and states('sun.sun') == 'above_horizon' -%} {{ weather_lightning_rainy_day }}
{%- elif trigger.event.data.new_state.state == 'lightning-rainy' and states('sun.sun') == 'below_horizon' -%} {{ weather_lightning_rainy_night }}
{%- elif trigger.event.data.new_state.state == 'execptional' and states('sun.sun') == 'above_horizon' -%} {{ weather_execptional_day }}
{%- elif trigger.event.data.new_state.state == 'execptional' and states('sun.sun') == 'below_horizon' -%} {{ weather_execptional_night }}
{%- elif trigger.event.data.new_state.state == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
- service: "{{ command_printf }}"
data:
cmd: home.weather.pic={{ weather_pic }}
##### Page changed #####
- conditions:
- condition: trigger
id: current_page_changed
sequence:
- choose:
## home ##
- conditions: '{{ trigger.event.data.new_state.state == page_home }}'
sequence:
##### NSPanel Date #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.date
message: "{{ date01_mui }}"
##### NSPanel Time #####
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.time
message: "{{ time }}"
##### NSPanel Humidity #####
- if:
- condition: template
value_template: '{{ humidity is match "sensor." and states(humidity).state != "unavailable" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.humidity_state
message: "{{ states(humidity) |round(0) }}%"
##### NSPanel Hotwater #####
- if:
- condition: template
value_template: '{{ hotwatertemp is match "sensor." and states(hotwatertemp).state != "unavailable" }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.hotwater_pic.pic={{ hotwater_pic_on }}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.hotwater_temp
message: "{{ states(hotwatertemp) |round(1) }}°"
##### NSPanel Outdoor Temp #####
- variables:
outdoor_temp: >-
{%- if outdoortemp is match "sensor." and states(hotwatertemp).state != "unavailable" -%} {{ states(outdoortemp) |round(0) }}
{%- elif weather == "Default" and state_attr(ha_weather, "temperature") != None -%} {{state_attr(ha_weather,"temperature") | round(0)}}
{%- elif weather == "AccuWeather" and state_attr(accuweather_value, "temperature") != None -%} {{state_attr(accuweather_value,"temperature") | round(0)}}
{%- else -%} 0
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.outdoor_temp
message: "{{ outdoor_temp }}°"
##### Weather Icon Home Page
- variables:
weather_pic: >-
{%- if states(weather_entity) == 'sunny' -%} {{ weather_sunny }}
{%- elif states(weather_entity) == 'cloudy' -%} {{ weather_cloudy }}
{%- elif states(weather_entity) == 'rainy' -%} {{ weather_rainy }}
{%- elif states(weather_entity) == 'pouring' -%} {{ weather_pouring }}
{%- elif states(weather_entity) == 'snowy' -%} {{ weather_snowy }}
{%- elif states(weather_entity) == 'hail' -%} {{ weather_hail }}
{%- elif states(weather_entity) == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif states(weather_entity) == 'fog' -%} {{ weather_fog }}
{%- elif states(weather_entity) == 'windy' -%} {{ weather_windy }}
{%- elif states(weather_entity) == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif states(weather_entity) == 'lightning' -%} {{ weather_lightning }}
{%- elif states(weather_entity) == 'partlycloudy' and states('sun.sun') == 'above_horizon' -%} {{ weather_partlycloudy_day }}
{%- elif states(weather_entity) == 'partlycloudy' and states('sun.sun') == 'below_horizon' -%} {{ weather_partlycloudy_night }}
{%- elif states(weather_entity) == 'lightning-rainy' and states('sun.sun') == 'above_horizon' -%} {{ weather_lightning_rainy_day }}
{%- elif states(weather_entity) == 'lightning-rainy' and states('sun.sun') == 'below_horizon' -%} {{ weather_lightning_rainy_night }}
{%- elif states(weather_entity) == 'execptional' and states('sun.sun') == 'above_horizon' -%} {{ weather_execptional_day }}
{%- elif states(weather_entity) == 'execptional' and states('sun.sun') == 'below_horizon' -%} {{ weather_execptional_night }}
{%- elif states(weather_entity) == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.weather.pic={{ weather_pic }}
##### NSPanel Left Button Name #####
- if:
- condition: template
value_template: '{{ left_button_name |length > 0 }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.left_bt_text
message: "{{ left_button_name }}"
##### SET Left Hardware Button PIC on Home Page ####
- variables:
# Hardware Button PIC
left_hardware_button_state: >-
{%- if states(left_button_entity) == 'off' -%} {{ hardware_button_pic_off }}
{%- elif states(left_button_entity) == 'on' -%} {{ hardware_button_pic_on }}
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.left_bt_pic.pic={{ left_hardware_button_state }}
##### NSPanel Right Button Name #####
- if:
- condition: template
value_template: '{{ right_button_name |length > 0 }}'
then:
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_text_printf }}"
data:
component: home.right_bt_text
message: "{{ right_button_name }}"
###### SET Right Hardware Button PIC on Home Page #####
- variables:
# Hardware Button PIC
right_hardware_button_state: >-
{%- if states(right_button_entity) == 'off' -%} {{ hardware_button_pic_off }}
{%- elif states(right_button_entity) == 'on' -%} {{ hardware_button_pic_on }}
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.right_bt_pic.pic={{ right_hardware_button_state }}
###### StatusBar - Climate Symbol ######
- if:
- condition: template
value_template: '{{ climate |length > 0 }}'
then:
- variables:
top_menu_climate: >-
{%- if states(climate) == "heat" and state_attr(climate, "hvac_action") != None and state_attr(climate, "hvac_action") == "heating" -%} {{ heat_pic_on }}
{%- elif states(climate) == "heat" -%} {{ thermostat_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_03.pic={{ top_menu_climate }}
###### StatusBar - Relay Symbols ######
- variables:
relay01_pic: >-
{%- if states(relay01_entity) == 'on' -%} {{ relay01_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
relay02_pic: >-
{%- if states(relay02_entity) == 'on' -%} {{ relay02_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_01.pic={{ relay01_pic }}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_02.pic={{ relay02_pic }}
##### climate-page left - apply climate temperature if climate_optimistic #####
- if:
- condition: template
value_template: '{{ trigger.event.data.old_state.state == page_climate }}'
then:
- if:
- condition: template
value_template: '{{ climate_optimistic == true }}'
then:
- variables:
display_target_temperature: "{{states(display_target_temperature) | round(1)}}"
- if:
- condition: template
value_template: '{{ display_target_temperature != 0.0 }}'
then:
- service: climate.set_temperature
data:
entity_id: !input climate
#hvac_mode: 'heat'
temperature: "{{ display_target_temperature }}"
## weather01 ##
- conditions: '{{ trigger.event.data.new_state.state == page_weather01 }}'
sequence:
- choose:
- conditions: '{{ weather == "Default" }}'
sequence:
- variables:
# weather PIC
weather_icon: >-
{%- if states(ha_weather) == 'sunny' -%} {{ weather_sunny }}
{%- elif states(ha_weather) == 'cloudy' -%} {{ weather_cloudy }}
{%- elif states(ha_weather) == 'rainy' -%} {{ weather_rainy }}
{%- elif states(ha_weather) == 'pouring' -%} {{ weather_pouring }}
{%- elif states(ha_weather) == 'snowy' -%} {{ weather_snowy }}
{%- elif states(ha_weather) == 'hail' -%} {{ weather_hail }}
{%- elif states(ha_weather) == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif states(ha_weather) == 'fog' -%} {{ weather_fog }}
{%- elif states(ha_weather) == 'windy' -%} {{ weather_windy }}
{%- elif states(ha_weather) == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif states(ha_weather) == 'lightning' -%} {{ weather_lightning }}
{%- elif states(ha_weather) == 'partlycloudy' and states('sun.sun') == 'above_horizon' -%} {{ weather_partlycloudy_day }}
{%- elif states(ha_weather) == 'partlycloudy' and states('sun.sun') == 'below_horizon' -%} {{ weather_partlycloudy_night }}
{%- elif states(ha_weather) == 'lightning-rainy' and states('sun.sun') == 'above_horizon' -%} {{ weather_lightning_rainy_day }}
{%- elif states(ha_weather) == 'lightning-rainy' and states('sun.sun') == 'below_horizon' -%} {{ weather_lightning_rainy_night }}
{%- elif states(ha_weather) == 'execptional' and states('sun.sun') == 'above_horizon' -%} {{ weather_execptional_day }}
{%- elif states(ha_weather) == 'execptional' and states('sun.sun') == 'below_horizon' -%} {{ weather_execptional_night }}
{%- elif states(ha_weather) == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
##### SET weather PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: weather01.weather_icon.pic={{ weather_icon }}
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MAX ####
- service: "{{ command_text_printf }}"
data:
component: weather01.temp_max ### Temperature MAX ###
message: '{{state_attr(ha_weather,"temperature") | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Day Name #####
- service: "{{ command_text_printf }}"
data:
component: weather01.day
message: "{{ day01_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Day Date #####
- service: "{{ command_text_printf }}"
data:
component: weather01.date
message: "{{ date01_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### field 1 #####
##### field 2 #####
##### field 3 #####
- service: "{{ command_text_printf }}"
data:
component: weather01.value03
message: '{{state_attr(ha_weather,"wind_speed") | round(0)}} km/h'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather01.value03_pic.pic={{ weather_icon_wind }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 4 #####
##### field 5 #####
- conditions: '{{ weather == "AccuWeather" }}'
sequence:
- variables:
# weather PIC
weather_icon: >-
{%- if state_attr(accuweather_value,"forecast")[0].condition == 'sunny' -%} {{ weather_sunny }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'cloudy' -%} {{ weather_cloudy }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'rainy' -%} {{ weather_rainy }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'pouring' -%} {{ weather_pouring }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'snowy' -%} {{ weather_snowy }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'hail' -%} {{ weather_hail }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'fog' -%} {{ weather_fog }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'windy' -%} {{ weather_windy }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'lightning' -%} {{ weather_lightning }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'execptional' -%} {{ weather_execptional_day }}
{%- elif state_attr(accuweather_value,"forecast")[0].condition == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
##### SET weather PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: weather01.weather_icon.pic={{ weather_icon }}
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MIN ####
- service: "{{ command_text_printf }}"
data:
component: weather01.temp_min ### Temperature MIN ###
message: '{{states(accuweather_realfeel_temperature_min_0d) | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Slash #####
- service: "{{ command_text_printf }}"
data:
component: weather01.slash
message: '/'
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MAX ####
- service: "{{ command_text_printf }}"
data:
component: weather01.temp_max ### Temperature MAX ###
message: '{{states(accuweather_realfeel_temperature_max_0d) | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Day Name #####
- service: "{{ command_text_printf }}"
data:
component: weather01.day
message: "{{ day01_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Day Date #####
- service: "{{ command_text_printf }}"
data:
component: weather01.date
message: "{{ date01_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### field 1 #####
- service: "{{ command_text_printf }}"
data:
component: weather01.value01
message: "{{ state_attr(accuweather_value,'forecast')[0].precipitation_probability}} %"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather01.value01_pic.pic={{ weather_icon_rain }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 2 #####
- service: "{{ command_text_printf }}"
data:
component: weather01.value02
message: "{{states(accuweather_hours_of_sun_0d) | round(0)}} h"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather01.value02_pic.pic={{ weather_icon_sun }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 3 #####
- service: "{{ command_text_printf }}"
data:
component: weather01.value03
message: "{{state_attr(accuweather_uv_index_0d, 'level')}} {{states(accuweather_uv_index_0d) | round(0)}}"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather01.value03_pic.pic={{ weather_icon_protect }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 4 #####
- service: "{{ command_text_printf }}"
data:
component: weather01.value04
message: "{{states(accuweather_thunderstorm_probability_day_0d) | round(0)}} %"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather01.value04_pic.pic={{ weather_icon_lightning }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 5 #####
- service: "{{ command_text_printf }}"
data:
component: weather01.value05
message: "{{states(accuweather_wind_day_0d) | round(0)}} km/h"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather01.value05_pic.pic={{ weather_icon_wind }}
default:
- service: "{{ command_printf }}"
data:
cmd: "page {{ page_home }}"
## weather02 ##
- conditions: '{{ trigger.event.data.new_state.state == page_weather02 }}'
sequence:
- choose:
- conditions: '{{ weather == "Default" }}'
sequence:
- variables:
# weather PIC
weather_icon: >-
{%- if state_attr(ha_weather,"forecast")[0].condition == 'sunny' -%} {{ weather_sunny }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'cloudy' -%} {{ weather_cloudy }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'rainy' -%} {{ weather_rainy }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'pouring' -%} {{ weather_pouring }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'snowy' -%} {{ weather_snowy }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'hail' -%} {{ weather_hail }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'fog' -%} {{ weather_fog }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'windy' -%} {{ weather_windy }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'lightning' -%} {{ weather_lightning }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'execptional' -%} {{ weather_execptional_day }}
{%- elif state_attr(ha_weather,"forecast")[0].condition == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
##### SET weather PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: weather02.weather_icon.pic={{ weather_icon }}
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MIN ####
- service: "{{ command_text_printf }}"
data:
component: weather02.temp_min ### Temperature MIN ###
message: '{{state_attr(ha_weather,"forecast")[0].templow | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Slash #####
- service: "{{ command_text_printf }}"
data:
component: weather02.slash
message: '/'
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MAX ####
- service: "{{ command_text_printf }}"
data:
component: weather02.temp_max ### Temperature MAX ###
message: '{{state_attr(ha_weather,"forecast")[0].temperature | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Day Name #####
- service: "{{ command_text_printf }}"
data:
component: weather02.day
message: "{{ day02_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Day Date #####
- service: "{{ command_text_printf }}"
data:
component: weather02.date
message: "{{ date02_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### field 1 #####
##### field 2 #####
- service: "{{ command_text_printf }}"
data:
component: weather02.value02
message: '{{state_attr(ha_weather,"forecast")[0].precipitation| round(1)}} mm'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather02.value02_pic.pic={{ weather_icon_rain }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 3 #####
- service: "{{ command_text_printf }}"
data:
component: weather02.value03
message: '{{state_attr(ha_weather,"forecast")[0].wind_speed | round(1)}} km/h'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather02.value03_pic.pic={{ weather_icon_wind }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 4 #####
##### field 5 #####
- conditions: '{{ weather == "AccuWeather" }}'
sequence:
- variables:
# weather PIC
weather_icon: >-
{%- if state_attr(accuweather_value,"forecast")[1].condition == 'sunny' -%} {{ weather_sunny }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'cloudy' -%} {{ weather_cloudy }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'rainy' -%} {{ weather_rainy }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'pouring' -%} {{ weather_pouring }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'snowy' -%} {{ weather_snowy }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'hail' -%} {{ weather_hail }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'fog' -%} {{ weather_fog }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'windy' -%} {{ weather_windy }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'lightning' -%} {{ weather_lightning }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'execptional' -%} {{ weather_execptional_day }}
{%- elif state_attr(accuweather_value,"forecast")[1].condition == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
##### SET weather PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: weather02.weather_icon.pic={{ weather_icon }}
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MIN ####
- service: "{{ command_text_printf }}"
data:
component: weather02.temp_min ### Temperature MIN ###
message: '{{states(accuweather_realfeel_temperature_min_1d) | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Slash #####
- service: "{{ command_text_printf }}"
data:
component: weather02.slash
message: '/'
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MAX ####
- service: "{{ command_text_printf }}"
data:
component: weather02.temp_max ### Temperature MAX ###
message: '{{states(accuweather_realfeel_temperature_max_1d) | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Day Name #####
- service: "{{ command_text_printf }}"
data:
component: weather02.day
message: "{{ day02_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Day Date #####
- service: "{{ command_text_printf }}"
data:
component: weather02.date
message: "{{ date02_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### field 1 #####
- service: "{{ command_text_printf }}"
data:
component: weather02.value01
message: "{{ state_attr(accuweather_value,'forecast')[1].precipitation_probability}} %"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather02.value01_pic.pic={{ weather_icon_rain }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 2 #####
- service: "{{ command_text_printf }}"
data:
component: weather02.value02
message: "{{states(accuweather_hours_of_sun_1d) | round(0)}} h"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather02.value02_pic.pic={{ weather_icon_sun }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 3 #####
- service: "{{ command_text_printf }}"
data:
component: weather02.value03
message: "{{state_attr(accuweather_uv_index_1d, 'level')}} {{states(accuweather_uv_index_1d) | round(0)}}"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather02.value03_pic.pic={{ weather_icon_protect }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 4 #####
- service: "{{ command_text_printf }}"
data:
component: weather02.value04
message: "{{states(accuweather_thunderstorm_probability_day_1d) | round(0)}} %"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather02.value04_pic.pic={{ weather_icon_lightning }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 5 #####
- service: "{{ command_text_printf }}"
data:
component: weather02.value05
message: "{{states(accuweather_wind_day_1d) | round(0)}} km/h"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather02.value05_pic.pic={{ weather_icon_wind }}
default:
- service: "{{ command_printf }}"
data:
cmd: "page {{ page_home }}"
## weather03 ##
- conditions: '{{ trigger.event.data.new_state.state == page_weather03 }}'
sequence:
- choose:
- conditions: '{{ weather == "Default" }}'
sequence:
- variables:
# weather PIC
weather_icon: >-
{%- if state_attr(ha_weather,"forecast")[1].condition == 'sunny' -%} {{ weather_sunny }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'cloudy' -%} {{ weather_cloudy }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'rainy' -%} {{ weather_rainy }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'pouring' -%} {{ weather_pouring }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'snowy' -%} {{ weather_snowy }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'hail' -%} {{ weather_hail }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'fog' -%} {{ weather_fog }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'windy' -%} {{ weather_windy }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'lightning' -%} {{ weather_lightning }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'execptional' -%} {{ weather_execptional_day }}
{%- elif state_attr(ha_weather,"forecast")[1].condition == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
##### SET weather PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: weather03.weather_icon.pic={{ weather_icon }}
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MIN ####
- service: "{{ command_text_printf }}"
data:
component: weather03.temp_min ### Temperature MIN ###
message: '{{state_attr(ha_weather,"forecast")[1].templow | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Slash #####
- service: "{{ command_text_printf }}"
data:
component: weather03.slash
message: '/'
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MAX ####
- service: "{{ command_text_printf }}"
data:
component: weather03.temp_max ### Temperature MAX ###
message: '{{state_attr(ha_weather,"forecast")[1].temperature | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Day Name #####
- service: "{{ command_text_printf }}"
data:
component: weather03.day
message: "{{ day03_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Day Date #####
- service: "{{ command_text_printf }}"
data:
component: weather03.date
message: "{{ date03_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### field 1 #####
##### field 2 #####
- service: "{{ command_text_printf }}"
data:
component: weather03.value02
message: '{{state_attr(ha_weather,"forecast")[1].precipitation| round(1)}} mm'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather03.value02_pic.pic={{ weather_icon_rain }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 3 #####
- service: "{{ command_text_printf }}"
data:
component: weather03.value03
message: '{{state_attr(ha_weather,"forecast")[1].wind_speed | round(1)}} km/h'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather03.value03_pic.pic={{ weather_icon_wind }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 4 #####
##### field 5 #####
- conditions: '{{ weather == "AccuWeather" }}'
sequence:
- variables:
# weather PIC
weather_icon: >-
{%- if state_attr(accuweather_value,"forecast")[2].condition == 'sunny' -%} {{ weather_sunny }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'cloudy' -%} {{ weather_cloudy }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'rainy' -%} {{ weather_rainy }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'pouring' -%} {{ weather_pouring }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'snowy' -%} {{ weather_snowy }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'hail' -%} {{ weather_hail }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'fog' -%} {{ weather_fog }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'windy' -%} {{ weather_windy }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'lightning' -%} {{ weather_lightning }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'execptional' -%} {{ weather_execptional_day }}
{%- elif state_attr(accuweather_value,"forecast")[2].condition == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
##### SET weather PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: weather03.weather_icon.pic={{ weather_icon }}
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MIN ####
- service: "{{ command_text_printf }}"
data:
component: weather03.temp_min ### Temperature MIN ###
message: '{{states(accuweather_realfeel_temperature_min_2d) | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Slash #####
- service: "{{ command_text_printf }}"
data:
component: weather03.slash
message: '/'
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MAX ####
- service: "{{ command_text_printf }}"
data:
component: weather03.temp_max ### Temperature MAX ###
message: '{{states(accuweather_realfeel_temperature_max_2d) | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Day Name #####
- service: "{{ command_text_printf }}"
data:
component: weather03.day
message: "{{ day03_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Day Date #####
- service: "{{ command_text_printf }}"
data:
component: weather03.date
message: "{{ date03_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### field 1 #####
- service: "{{ command_text_printf }}"
data:
component: weather03.value01
message: "{{ state_attr(accuweather_value,'forecast')[2].precipitation_probability}} %"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather03.value01_pic.pic={{ weather_icon_rain }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 2 #####
- service: "{{ command_text_printf }}"
data:
component: weather03.value02
message: "{{states(accuweather_hours_of_sun_2d) | round(0)}} h"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather03.value02_pic.pic={{ weather_icon_sun }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 3 #####
- service: "{{ command_text_printf }}"
data:
component: weather03.value03
message: "{{state_attr(accuweather_uv_index_2d, 'level')}} {{states(accuweather_uv_index_2d) | round(0)}}"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather03.value03_pic.pic={{ weather_icon_protect }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 4 #####
- service: "{{ command_text_printf }}"
data:
component: weather03.value04
message: "{{states(accuweather_thunderstorm_probability_day_2d) | round(0)}} %"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather03.value04_pic.pic={{ weather_icon_lightning }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 5 #####
- service: "{{ command_text_printf }}"
data:
component: weather03.value05
message: "{{states(accuweather_wind_day_2d) | round(0)}} km/h"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather03.value05_pic.pic={{ weather_icon_wind }}
default:
- service: "{{ command_printf }}"
data:
cmd: "page {{ page_home }}"
## weather04 ##
- conditions: '{{ trigger.event.data.new_state.state == page_weather04 }}'
sequence:
- choose:
- conditions: '{{ weather == "Default" }}'
sequence:
- variables:
# weather PIC
weather_icon: >-
{%- if state_attr(ha_weather,"forecast")[2].condition == 'sunny' -%} {{ weather_sunny }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'cloudy' -%} {{ weather_cloudy }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'rainy' -%} {{ weather_rainy }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'pouring' -%} {{ weather_pouring }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'snowy' -%} {{ weather_snowy }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'hail' -%} {{ weather_hail }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'fog' -%} {{ weather_fog }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'windy' -%} {{ weather_windy }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'lightning' -%} {{ weather_lightning }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'execptional' -%} {{ weather_execptional_day }}
{%- elif state_attr(ha_weather,"forecast")[2].condition == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
##### SET weather PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: weather04.weather_icon.pic={{ weather_icon }}
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MIN ####
- service: "{{ command_text_printf }}"
data:
component: weather04.temp_min ### Temperature MIN ###
message: '{{state_attr(ha_weather,"forecast")[2].templow | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Slash #####
- service: "{{ command_text_printf }}"
data:
component: weather04.slash
message: '/'
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MAX ####
- service: "{{ command_text_printf }}"
data:
component: weather04.temp_max ### Temperature MAX ###
message: '{{state_attr(ha_weather,"forecast")[2].temperature | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Day Name #####
- service: "{{ command_text_printf }}"
data:
component: weather04.day
message: "{{ day04_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Day Date #####
- service: "{{ command_text_printf }}"
data:
component: weather04.date
message: "{{ date04_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### field 1 #####
##### field 2 #####
- service: "{{ command_text_printf }}"
data:
component: weather04.value02
message: '{{state_attr(ha_weather,"forecast")[2].precipitation| round(1)}} mm'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather04.value02_pic.pic={{ weather_icon_rain }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 3 #####
- service: "{{ command_text_printf }}"
data:
component: weather04.value03
message: '{{state_attr(ha_weather,"forecast")[2].wind_speed | round(1)}} km/h'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather04.value03_pic.pic={{ weather_icon_wind }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 4 #####
##### field 5 #####
- conditions: '{{ weather == "AccuWeather" }}'
sequence:
- variables:
# weather PIC
weather_icon: >-
{%- if state_attr(accuweather_value,"forecast")[3].condition == 'sunny' -%} {{ weather_sunny }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'cloudy' -%} {{ weather_cloudy }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'rainy' -%} {{ weather_rainy }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'pouring' -%} {{ weather_pouring }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'snowy' -%} {{ weather_snowy }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'hail' -%} {{ weather_hail }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'fog' -%} {{ weather_fog }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'windy' -%} {{ weather_windy }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'lightning' -%} {{ weather_lightning }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'execptional' -%} {{ weather_execptional_day }}
{%- elif state_attr(accuweather_value,"forecast")[3].condition == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
##### SET weather PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: weather04.weather_icon.pic={{ weather_icon }}
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MIN ####
- service: "{{ command_text_printf }}"
data:
component: weather04.temp_min ### Temperature MIN ###
message: '{{states(accuweather_realfeel_temperature_min_3d) | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Slash #####
- service: "{{ command_text_printf }}"
data:
component: weather04.slash
message: '/'
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MAX ####
- service: "{{ command_text_printf }}"
data:
component: weather04.temp_max ### Temperature MAX ###
message: '{{states(accuweather_realfeel_temperature_max_3d) | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Day Name #####
- service: "{{ command_text_printf }}"
data:
component: weather04.day
message: "{{ day04_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Day Date #####
- service: "{{ command_text_printf }}"
data:
component: weather04.date
message: "{{ date04_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### field 1 #####
- service: "{{ command_text_printf }}"
data:
component: weather04.value01
message: "{{ state_attr(accuweather_value,'forecast')[3].precipitation_probability}} %"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather04.value01_pic.pic={{ weather_icon_rain }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 2 #####
- service: "{{ command_text_printf }}"
data:
component: weather04.value02
message: "{{states(accuweather_hours_of_sun_3d) | round(0)}} h"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather04.value02_pic.pic={{ weather_icon_sun }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 3 #####
- service: "{{ command_text_printf }}"
data:
component: weather04.value03
message: "{{state_attr(accuweather_uv_index_3d, 'level')}} {{states(accuweather_uv_index_3d) | round(0)}}"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather04.value03_pic.pic={{ weather_icon_protect }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 4 #####
- service: "{{ command_text_printf }}"
data:
component: weather04.value04
message: "{{states(accuweather_thunderstorm_probability_day_3d) | round(0)}} %"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather04.value04_pic.pic={{ weather_icon_lightning }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 5 #####
- service: "{{ command_text_printf }}"
data:
component: weather04.value05
message: "{{states(accuweather_wind_day_3d) | round(0)}} km/h"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather04.value05_pic.pic={{ weather_icon_wind }}
default:
- service: "{{ command_printf }}"
data:
cmd: "page {{ page_home }}"
## weather05 ##
- conditions: '{{ trigger.event.data.new_state.state == page_weather05 }}'
sequence:
- choose:
- conditions: '{{ weather == "Default" }}'
sequence:
- variables:
# weather PIC
weather_icon: >-
{%- if state_attr(ha_weather,"forecast")[3].condition == 'sunny' -%} {{ weather_sunny }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'cloudy' -%} {{ weather_cloudy }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'rainy' -%} {{ weather_rainy }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'pouring' -%} {{ weather_pouring }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'snowy' -%} {{ weather_snowy }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'hail' -%} {{ weather_hail }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'fog' -%} {{ weather_fog }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'windy' -%} {{ weather_windy }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'lightning' -%} {{ weather_lightning }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'execptional' -%} {{ weather_execptional_day }}
{%- elif state_attr(ha_weather,"forecast")[3].condition == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
##### SET weather PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: weather05.weather_icon.pic={{ weather_icon }}
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MIN ####
- service: "{{ command_text_printf }}"
data:
component: weather05.temp_min ### Temperature MIN ###
message: '{{state_attr(ha_weather,"forecast")[3].templow | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Slash #####
- service: "{{ command_text_printf }}"
data:
component: weather05.slash
message: '/'
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MAX ####
- service: "{{ command_text_printf }}"
data:
component: weather05.temp_max ### Temperature MAX ###
message: '{{state_attr(ha_weather,"forecast")[3].temperature | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Day Name #####
- service: "{{ command_text_printf }}"
data:
component: weather05.day
message: "{{ day05_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Day Date #####
- service: "{{ command_text_printf }}"
data:
component: weather05.date
message: "{{ date05_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### field 1 #####
##### field 2 #####
- service: "{{ command_text_printf }}"
data:
component: weather05.value02
message: '{{state_attr(ha_weather,"forecast")[3].precipitation| round(1)}} mm'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather05.value02_pic.pic={{ weather_icon_rain }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 3 #####
- service: "{{ command_text_printf }}"
data:
component: weather05.value03
message: '{{state_attr(ha_weather,"forecast")[3].wind_speed | round(1)}} km/h'
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather05.value03_pic.pic={{ weather_icon_wind }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 4 #####
##### field 5 #####
- conditions: '{{ weather == "AccuWeather" }}'
sequence:
- variables:
# weather PIC
weather_icon: >-
{%- if state_attr(accuweather_value,"forecast")[4].condition == 'sunny' -%} {{ weather_sunny }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'cloudy' -%} {{ weather_cloudy }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'rainy' -%} {{ weather_rainy }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'pouring' -%} {{ weather_pouring }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'snowy' -%} {{ weather_snowy }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'hail' -%} {{ weather_hail }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'fog' -%} {{ weather_fog }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'windy' -%} {{ weather_windy }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'windy-variant' -%} {{ weather_windy-variant }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'lightning' -%} {{ weather_lightning }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'execptional' -%} {{ weather_execptional_day }}
{%- elif state_attr(accuweather_value,"forecast")[4].condition == 'clear-night' -%} {{ weather_clear_night }}
{%- endif -%}
##### SET weather PIC on Home Page ####
- service: "{{ command_printf }}"
data:
cmd: weather05.weather_icon.pic={{ weather_icon }}
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MIN ####
- service: "{{ command_text_printf }}"
data:
component: weather05.temp_min ### Temperature MIN ###
message: '{{states(accuweather_realfeel_temperature_min_4d) | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Slash #####
- service: "{{ command_text_printf }}"
data:
component: weather05.slash
message: '/'
- delay:
milliseconds: "{{ delay_value }}"
##### SET TEMP MAX ####
- service: "{{ command_text_printf }}"
data:
component: weather05.temp_max ### Temperature MAX ###
message: '{{states(accuweather_realfeel_temperature_max_4d) | round(0)}}°'
- delay:
milliseconds: "{{ delay_value }}"
##### Day Name #####
- service: "{{ command_text_printf }}"
data:
component: weather05.day
message: "{{ day05_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### Day Date #####
- service: "{{ command_text_printf }}"
data:
component: weather05.date
message: "{{ date05_mui }}"
- delay:
milliseconds: "{{ delay_value }}"
##### field 1 #####
- service: "{{ command_text_printf }}"
data:
component: weather05.value01
message: "{{ state_attr(accuweather_value,'forecast')[4].precipitation_probability}} %"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather05.value01_pic.pic={{ weather_icon_rain }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 2 #####
- service: "{{ command_text_printf }}"
data:
component: weather05.value02
message: "{{states(accuweather_hours_of_sun_4d) | round(0)}} h"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather05.value02_pic.pic={{ weather_icon_sun }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 3 #####
- service: "{{ command_text_printf }}"
data:
component: weather05.value03
message: "{{state_attr(accuweather_uv_index_4d, 'level')}} {{states(accuweather_uv_index_4d) | round(0)}}"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather05.value03_pic.pic={{ weather_icon_protect }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 4 #####
- service: "{{ command_text_printf }}"
data:
component: weather05.value04
message: "{{states(accuweather_thunderstorm_probability_day_4d) | round(0)}} %"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather05.value04_pic.pic={{ weather_icon_lightning }}
- delay:
milliseconds: "{{ delay_value }}"
##### field 5 #####
- service: "{{ command_text_printf }}"
data:
component: weather05.value05
message: "{{states(accuweather_wind_day_4d) | round(0)}} km/h"
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: weather05.value05_pic.pic={{ weather_icon_wind }}
default:
- service: "{{ command_printf }}"
data:
cmd: "page {{ page_home }}"
## climate ##
- conditions: '{{ trigger.event.data.new_state.state == page_climate }}'
alias: 'climate page'
sequence:
- variables:
hvac_mode: "{{ states(climate) }}"
outdoor_temp: >-
{%- if outdoortemp is match "sensor." and states(hotwatertemp).state != "unavailable" -%} {{ states(outdoortemp) |round(0) }}
{%- elif weather == "Default" and state_attr(ha_weather, "temperature") != None -%} {{state_attr(ha_weather,"temperature") | round(0)}}
{%- elif weather == "AccuWeather" and state_attr(accuweather_value, "temperature") != None -%} {{state_attr(accuweather_value,"temperature") | round(0)}}
{%- else -%} 0
{%- endif -%}
heating_state: >-
{%- if hvac_mode == "off" -%} {{ off_mui }}
{%- elif hvac_mode != "off" -%} {{ on_mui }}
{%- endif -%}
- service: "{{ command_text_printf }}"
data:
component: outdoor_temp
message: "{{ outdoor_temp }}°"
- service: "{{ command_text_printf }}"
data:
component: current_temp
message: "{{state_attr(climate, 'current_temperature') | round(1)}}°"
- if:
condition: template
value_template: '{{ hvac_mode != "off" }}'
then:
- variables:
target_temp: "{{state_attr(climate, 'temperature') | round(1)}}"
- service: "{{ command_thermostat_cycle }}"
data:
value: "{{target_temp}}"
else:
- service: "{{ command_thermostat_cycle }}"
data:
value: "0"
- service: "{{ command_text_printf }}"
data:
component: target_temp
message: " "
- service: "{{ command_text_printf }}"
data:
component: heating_state
message: "{{heating_state}}"
# HVAC Button PIC
- variables:
heating_bt_pic: >-
{%- if hvac_mode == "off" -%} {{ heating_bt_pic_off }}
{%- else -%} {{ heating_bt_pic_on }}
{%- endif -%}
- delay:
milliseconds: "{{ delay_value }}"
- service: "{{ command_printf }}"
data:
cmd: heating_bt_pic.pic={{ heating_bt_pic }}
- variables:
hotw_bt_pic: >-
{%- if hotwatercharge | length > 0 and states(hotwatercharge) == 'on' -%} {{ hotw_bt_on }}
{%- elif hotwatercharge | length > 0 and states(hotwatercharge) == 'off' -%} {{ hotw_bt_off }}
{%- else -%} {{ hotw_bt_blank }}
{%- endif -%}
- service: "{{ command_printf }}"
data:
cmd: hotw_bt_pic.pic={{ hotw_bt_pic }}
- if:
- condition: template
value_template: '{{ hotwatertemp is match "sensor." }}'
then:
- service: "{{ command_text_printf }}"
data:
component: climate.hotwater_temp
message: "{{ states(hotwatertemp) |round(1) }}°"
## settings ##
- conditions: '{{ trigger.event.data.new_state.state == page_settings }}'
sequence:
## boot ##
- conditions: '{{ trigger.event.data.new_state.state == page_boot }}'
sequence:
## screensaver ##
- conditions: '{{ trigger.event.data.new_state.state == page_screensaver }}'
sequence:
## lightsettings ##
- conditions: '{{ trigger.event.data.new_state.state == page_lightsettings }}'
sequence:
## coversettings ##
- conditions: '{{ trigger.event.data.new_state.state == page_coversettings }}'
sequence:
## buttonpage01 ##
- conditions: '{{ trigger.event.data.new_state.state == page_buttonpage01 }}'
sequence:
## buttonpage02 ##
- conditions: '{{ trigger.event.data.new_state.state == page_buttonpage01 }}'
sequence:
## buttonpage03 ##
- conditions: '{{ trigger.event.data.new_state.state == page_buttonpage03 }}'
sequence:
## buttonpage04 ##
- conditions: '{{ trigger.event.data.new_state.state == page_buttonpage04 }}'
sequence:
##### Open Climate Settings #####
- conditions:
- condition: trigger
id: open_climate_settings
sequence:
- if:
- condition: template
value_template: '{{ climate |length > 0 }}'
then:
- service: "{{ command_printf }}"
data:
cmd: "page {{ page_climate }}"
##### Set Flame-Symbol #####
- conditions:
- condition: trigger
id: heatingsystemflame_state
sequence:
- variables:
flame_pic: >-
{%- if trigger.event.data.new_state.state == 'on' -%} {{ flame_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_04.pic={{ flame_pic }}
##### Set Relay01-Symbol #####
- conditions:
- condition: trigger
id: relay01_state
sequence:
- variables:
relay01_pic: >-
{%- if trigger.event.data.new_state.state == 'on' -%} {{ relay01_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_01.pic={{ relay01_pic }}
##### Set Relay02-Symbol #####
- conditions:
- condition: trigger
id: relay02_state
sequence:
- variables:
relay02_pic: >-
{%- if trigger.event.data.new_state.state == 'on' -%} {{ relay02_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_02.pic={{ relay02_pic }}
##### Sync Hotwater Charge button-symbol #####
- conditions:
- condition: trigger
id: hotwatercharge_state
- condition: template
value_template: '{{ states(current_page) == page_climate }}'
sequence:
- variables:
hotw_bt_pic: >-
{%- if trigger.event.data.new_state.state == 'on' -%} {{ hotw_bt_on }}
{%- elif trigger.event.data.new_state.state == 'off' -%} {{ hotw_bt_off }}
{%- else -%} {{ hotw_bt_blank }}
{%- endif -%}
- service: "{{ command_printf }}"
data:
cmd: hotw_bt_pic.pic={{ hotw_bt_pic }}
##### Sync Climate #####
- conditions:
- condition: trigger
id: climate_state
# - condition: template
# value_template: '{{ states(current_page) == page_climate }}'
# - condition: template
# value_template: '{{ climate_optimistic == false }}'
sequence:
- choose:
### current page is climate ###
- conditions: '{{ states(current_page) == page_climate }}'
sequence:
- variables:
heating_state: >-
{%- if trigger.event.data.new_state.state == "off" -%} {{ off_mui }}
{%- elif trigger.event.data.new_state.state != "off" -%} {{ on_mui }}
{%- endif -%}
heating_bt_pic: >-
{%- if trigger.event.data.new_state.state == "off" -%} {{ heating_bt_pic_off }}
{%- else -%} {{ heating_bt_pic_on }}
{%- endif -%}
- service: "{{ command_text_printf }}"
data:
component: current_temp
message: "{{ trigger.event.data.new_state.attributes.current_temperature | round(1)}}°"
- service: "{{ command_text_printf }}"
data:
component: heating_state
message: "{{heating_state}}"
- service: "{{ command_printf }}"
data:
cmd: heating_bt_pic.pic={{ heating_bt_pic }}
- if:
- condition: template
value_template: '{{ trigger.event.data.new_state.state != "off" }}'
then:
- service: "{{ command_thermostat_cycle }}"
data:
value: "{{trigger.event.data.new_state.attributes.temperature | round(1)}}"
else:
- service: "{{ command_thermostat_cycle }}"
data:
value: "0"
- service: "{{ command_text_printf }}"
data:
component: target_temp
message: " "
### current page is home ###
- conditions: '{{ states(current_page) == page_home }}'
sequence:
- variables:
top_menu_climate: >-
{%- if trigger.event.data.new_state.state == "heat" and trigger.event.data.new_state.attributes.hvac_action is defined and trigger.event.data.new_state.attributes.hvac_action == "heating" -%} {{ heat_pic_on }}
{%- elif trigger.event.data.new_state.state == "heat" -%} {{ thermostat_pic_on }}
{%- else -%} {{ top_menu_blank }}
{%- endif -%}
- service: "{{ command_printf }}"
data:
cmd: home.icon_top_03.pic={{ top_menu_climate }}
#############################################################
##### CLOSE - Action #####
#############################################################