diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index 1410b31..072a893 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -45,7 +45,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l ##### 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*' + description: '* *"SYSTEM" - here you have to enter exactly the same **"device_name"** you entered in the Esphome file*' default: [nspanel_name] selector: text: {} @@ -53,7 +53,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l ##### SYSTEM SETTINGS ##### language: name: Language for NSPanel - description: '* *select the language for your NSPanel*' + description: '* *"SYSTEM" - select the language for your NSPanel*' default: 'ENG' selector: select: @@ -112,20 +112,2740 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - label: 'Ukrainian' value: UKR + delay: + name: Delay to avoid synchronization problem + description: '* *"SYSTEM" - Synchronization Problems may occur due to the **NETWORK / WLAN**. To avoid this problem enter your value for the delay (milliseconds)*' + default: '1' + selector: + number: + min: 0 + max: 100 + + ##### PLACEHOLDER ###################################################################### + placeholder01: + name: 'Is only a placeholder without function for a better overview' + description: '# ✅ WEATHER AND TEMPERATURE ✅ ' + default: 'Weather and Temp' + selector: + select: + options: + - Weather and Temp + ##### PLACEHOLDER ###################################################################### + + ##### WEATHER - Page Home / Weather 01-04 ##### + weather: + name: Weather Integration + description: '* *"SYSTEM" - select our Weather Integration*' + default: 'Default' + selector: + select: + options: + - Default + - AccuWeather + weather_entity: + name: Weather entity from HA + description: '* *"SYSTEM" - Select your weather entity.*' + default: [] + selector: + entity: + domain: + - weather + + ##### Temp - Page Home ##### + outdoortemp: + name: Outdoor Temperature Sensor (Optional) + description: '* *Page "HOME" - 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 + home_outdoor_temp_label_color: + name: Outdoor Temperature Sensor - LABEL COLOR (Optional) + description: '* *Page "HOME" - Label color which should be displayed*' + default: 65535 #White + selector: + text: {} + indoortemp: + name: Indoor Temperature Sensor - ENTITY (Optional) + description: '* *Page "HOME" - An indoor temperature sensor is not necessary. Leave the field empty if you want to use the temperature sensor of the NSPanel. Additionally a temperature correction for the NSPanel sensor is possible under HA Devices. So everyone can adjust the sensor exactly*' + default: [] + selector: + entity: + domain: + - sensor + home_indoor_temp_icon: + name: Indoor Temperature Sensor - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (Default #E50E)*' + default:  #E50E + selector: + text: {} + home_indoor_temp_icon_color: + name: Indoor Temperature Sensor - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 65535 #White + selector: + text: {} + home_indoor_temp_label_color: + name: Indoor Temperature Sensor - LABEL COLOR (Optional) + description: '* *Page "HOME" - Label color which should be displayed*' + default: 65535 #White + selector: + text: {} + + ##### PLACEHOLDER ###################################################################### + placeholder02: + name: 'Is only a placeholder without function for a better overview' + description: '# ✅ SENSOR HOME PAGE ✅ ' + default: 'sensor' + selector: + select: + options: + - sensor + ##### PLACEHOLDER ###################################################################### + + ##### Sensor - Page Home ##### + home_value01: + name: Sensor 01 - ENTITY (Optional) + description: '* *Page "HOME" - Entity which should be displayed*' + default: [] + selector: + entity: + domain: + - sensor + home_value01_icon: + name: Sensor 01 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + home_value01_icon_color: + name: Sensor 01 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 52857 #Grey super light + selector: + text: {} + home_value01_label_color: + name: Sensor 01 - LABEL COLOR (Optional) + description: '* *Page "HOME" - Label color which should be displayed*' + default: 52857 #Grey super light + selector: + text: {} + home_value02: + name: Sensor 02 - ENTITY (Optional) + description: '* *Page "HOME" - Entity which should be displayed*' + default: [] + selector: + entity: + domain: + - sensor + home_value02_icon: + name: Sensor 02 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + home_value02_icon_color: + name: Sensor 02 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 52857 #Grey super light + selector: + text: {} + home_value02_label_color: + name: Sensor 02 - LABEL COLOR (Optional) + description: '* *Page "HOME" - Label color which should be displayed*' + default: 52857 #Grey super light + selector: + text: {} + home_value03: + name: Sensor 03 - ENTITY (Optional) + description: '* *Page "HOME" - Entity which should be displayed*' + default: [] + selector: + entity: + domain: + - sensor + home_value03_icon: + name: Sensor 03 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + home_value03_icon_color: + name: Sensor 03 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 52857 #Grey super light + selector: + text: {} + home_value03_label_color: + name: Sensor 03 - LABEL COLOR (Optional) + description: '* *Page "HOME" - Label color which should be displayed*' + default: 52857 #Grey super light + selector: + text: {} + + ##### PLACEHOLDER ###################################################################### + placeholder03: + name: 'Is only a placeholder without function for a better overview' + description: '# ✅ CHIPS ✅ ' + default: 'chips' + selector: + select: + options: + - chips + ##### PLACEHOLDER ###################################################################### + + ##### Chips - Page Home ##### + chip01: + name: Chip 01 - ENTITY (Optional) + description: '* *Page "HOME" - Entity which should be displayed (ONLY light | switch | binary_sensor | sensor | with state ON/OFF)*' + default: [] + selector: + entity: + domain: + - binary_sensor + - sensor + - light + - switch + chip01_icon: + name: Chip 01 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed when state ON (if not set, no icon is shown)*' + default: [] + selector: + text: {} + chip01_icon_color: + name: Chip 01 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 33808 #Grey light + selector: + text: {} + chip02: + name: Chip 02 - ENTITY (Optional) + description: '* *Page "HOME" - Entity which should be displayed (ONLY light | switch | binary_sensor | sensor | with state ON/OFF)*' + default: [] + selector: + entity: + domain: + - binary_sensor + - sensor + - light + - switch + chip02_icon: + name: Chip 02 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed when state ON (if not set, no icon is shown)*' + default: [] + selector: + text: {} + chip02_icon_color: + name: Chip 02 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 33808 #Grey light + selector: + text: {} + chip03: + name: Chip 03 - ENTITY (Optional) + description: '* *Page "HOME" - Entity which should be displayed (ONLY light | switch | binary_sensor | sensor | with state ON/OFF)*' + default: [] + selector: + entity: + domain: + - binary_sensor + - sensor + - light + - switch + chip03_icon: + name: Chip 03 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed when state ON (if not set, no icon is shown)*' + default: [] + selector: + text: {} + chip03_icon_color: + name: Chip 03 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 33808 #Grey light + selector: + text: {} + chip04: + name: Chip 04 - ENTITY (Optional) + description: '* *Page "HOME" - Entity which should be displayed (ONLY light | switch | binary_sensor | sensor | with state ON/OFF)*' + default: [] + selector: + entity: + domain: + - binary_sensor + - sensor + - light + - switch + chip04_icon: + name: Chip 04 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed when state ON (if not set, no icon is shown)*' + default: [] + selector: + text: {} + chip04_icon_color: + name: Chip 04 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 33808 #Grey light + selector: + text: {} + chip05: + name: Chip 05 - ENTITY (Optional) + description: '* *Page "HOME" - Entity which should be displayed (ONLY light | switch | binary_sensor | sensor | with state ON/OFF)*' + default: [] + selector: + entity: + domain: + - binary_sensor + - sensor + - light + - switch + chip05_icon: + name: Chip 05 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed when state ON (if not set, no icon is shown)*' + default: [] + selector: + text: {} + chip05_icon_color: + name: Chip 05 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 33808 #Grey light + selector: + text: {} + chip06: + name: Chip 06 - ENTITY (Optional) + description: '* *Page "HOME" - Entity which should be displayed (ONLY light | switch | binary_sensor | sensor | with state ON/OFF)*' + default: [] + selector: + entity: + domain: + - binary_sensor + - sensor + - light + - switch + chip06_icon: + name: Chip 06 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed when state ON (if not set, no icon is shown)*' + default: [] + selector: + text: {} + chip06_icon_color: + name: Chip 06 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 33808 #Grey light + selector: + text: {} + chip07: + name: Chip 07 - ENTITY (Optional) + description: '* *Page "HOME" - Entity which should be displayed (ONLY light | switch | binary_sensor | sensor | with state ON/OFF)*' + default: [] + selector: + entity: + domain: + - binary_sensor + - sensor + - light + - switch + chip07_icon: + name: Chip 07 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed when state ON (if not set, no icon is shown)*' + default: [] + selector: + text: {} + chip07_icon_color: + name: Chip 07 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed*' + default: 33808 #Grey light + selector: + text: {} + + ##### PLACEHOLDER ###################################################################### + placeholder04: + name: 'Is only a placeholder without function for a better overview' + description: '# ✅ CLIMATE ✅ ' + default: 'climate' + selector: + select: + options: + - climate + ##### PLACEHOLDER ###################################################################### + + ##### Climate - Page Climate ##### + climate: + name: Climate to control - ENTITY (Optional) + description: '* *Page "CLIMATE" - 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 - TRUE/FALSE (Optional) + default: true + description: '* *Page "CLIMATE" - 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: + hotwatercharge: + name: Hot Water Charge Button - ENTITY (Optional) + description: '* *Page "CLIMATE" - Choose your switch to turn on/off*' + default: [] + selector: + entity: + domain: + - switch + - input_boolean + + ##### PLACEHOLDER ###################################################################### + placeholder05: + name: 'Is only a placeholder without function for a better overview' + description: '# ✅ QR CODE ✅ ' + default: 'qrcode' + selector: + select: + options: + - qrcode + ##### PLACEHOLDER ###################################################################### + + ##### QR Code - Page Home/QR Code ##### + qrcode_enabled: + name: Activate QR Code - TRUE/FALSE (Optional) + default: false + description: '* *Page "HOME" - activate QR Code page and QR Code Button on the home page* ' + selector: + boolean: + + qrcode_label: + name: QR Code page name - LABEL (Optional) + description: '* *Page "QRCODE" - Label which should be displayed*' + default: [] + selector: + text: {} + + qrcode_value: + name: QR Code content - VALUE (Optional) + description: '* *Page "QRCODE" - Value you want to display as QR code*' + default: [] + selector: + text: {} + home_button05_icon: + name: QR Code - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (Default #E432)*' + default:  #E432 + selector: + text: {} + home_button05_icon_color: + name: QR Code - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*' + default: 52857 #Grey super light + selector: + text: {} + + ##### PLACEHOLDER ###################################################################### + placeholder06: + name: 'Is only a placeholder without function for a better overview' + description: '# ✅ HARDWARE BUTTONS ✅ ' + default: 'hardwarebuttons' + selector: + select: + options: + - hardwarebuttons + ##### PLACEHOLDER ###################################################################### + + ##### Hardware Buttons - Page Home ##### + hold_delay: + name: Delay for HW-Button hold in seconds - VALUE + description: '* *"SYSTEM" - Time in seconds to detect a hold*' + default: 1.0 + selector: + number: + min: 1.0 + max: 10.0 + step: 1.0 + unit_of_measurement: seconds + relay_1_local_fallback: + name: Activate relay 1 local fallback - TRUE/FALSE (Optional) + default: false + description: '* *"SYSTEM" - activate this to use left button to toggle relay 1 if display is offline* ' + selector: + boolean: + left_button_entity: + name: Left hardware button - ENTITY (Optional) + description: '* *"SYSTEM" - Entity which should be switched*' + default: [] + selector: + entity: + domain: + - light + - switch + - input_boolean + - cover + - automation + - button + - input_button + - scene + - script + - fan + left_button_name: + name: Left hardware button name - LABEL (Optional) + description: '* *Page "HOME" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + left_button_hold_select: + name: Left hardware button hold assignment - VALUE (Optional) + description: '* *"SYSTEM" - select what shold happen on hold*' + default: 'Default' + selector: + select: + options: + - Default + - Custom Action + left_button_hold_custom_action: + name: Left hardware button custom hold action - VALUE (Optional) + description: '*"SYSTEM" - The action(s) to launch on hold**' + default: [] + selector: + action: + left_button_color: + name: Left hardware button - LABEL COLOR (Optional) + description: '* *Page "HOME" - LABEL color which should be displayed*' + default: 52857 #Grey super light + selector: + text: {} + + relay_2_local_fallback: + name: Activate relay 2 local fallback - TRUE/FALSE (Optional) + default: false + description: '* *"SYSTEM" - activate this to use right button to toggle relay 2 if display is offline* ' + selector: + boolean: + right_button_entity: + name: Right hardware button - ENTITY (Optional) + description: '* *"SYSTEM" - Entity which should be switched*' + default: [] + selector: + entity: + domain: + - light + - switch + - input_boolean + - cover + - automation + - button + - input_button + - scene + - script + - fan + right_button_name: + name: Right hardware button name - LABEL (Optional) + description: '* *Page "HOME" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + right_button_hold_select: + name: Right button hold assignment - VALUE (Optional) + description: '* *"SYSTEM" - select what shold happen on hold*' + default: 'Default' + selector: + select: + options: + - Default + - Custom Action + right_button_hold_custom_action: + name: Right button custom hold action - VALUE (Optional) + description: '*"SYSTEM" - The action(s) to launch on hold**' + default: [] + selector: + action: + right_button_color: + name: Right hardware button - LABEL COLOR (Optional) + description: '* *Page "HOME" - LABEL color which should be displayed*' + default: 52857 #Grey super light + selector: + text: {} + + ##### PLACEHOLDER ###################################################################### + placeholder07: + name: 'Is only a placeholder without function for a better overview' + description: '# ✅ BUTTON PAGE 01-04 ✅ ' + default: 'buttonpage' + selector: + select: + options: + - buttonpage + ##### PLACEHOLDER ###################################################################### + + ##### BUTTON Page Labels ##### + button_page01_label: + name: Button page 01 name - LABEL (Optional) + description: '* *Page "ButtonPage01" - Label which should be displayed*' + default: [] + selector: + text: {} + + button_page02_label: + name: Button page 02 name - LABEL (Optional) + description: '* *Page "ButtonPage02" - Label which should be displayed*' + default: [] + selector: + text: {} + + button_page03_label: + name: Button page 03 name - LABEL (Optional) + description: '* *Page "ButtonPage03" - Label which should be displayed*' + default: [] + selector: + text: {} + + button_page04_label: + name: Button page 04 name - LABEL (Optional) + description: '* *Page "ButtonPage04" - Label which should be displayed*' + default: [] + selector: + text: {} + + ##### BUTTONS ##### + entity01: + name: Button 01 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE01" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity01_name: + name: Button 01 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE01" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity01_icon: + name: Button 01 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity01_icon_color: + name: Button 01 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity01_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE01" - Ask for confirmation to execute **Button01** action*' + selector: + boolean: + entity02: + name: Button 02 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE01" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity02_name: + name: Button 02 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE01" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity02_icon: + name: Button 02 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity02_icon_color: + name: Button 02 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity02_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE01" - Ask for confirmation to execute **Button02** action*' + selector: + boolean: + entity03: + name: Button 03 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE01" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity03_name: + name: Button 03 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE01" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity03_icon: + name: Button 03 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity03_icon_color: + name: Button 03 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity03_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE01" - Ask for confirmation to execute **Button03** action*' + selector: + boolean: + entity04: + name: Button 04 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE01" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity04_name: + name: Button 04 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE01" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity04_icon: + name: Button 04 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity04_icon_color: + name: Button 04 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity04_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE01" - Ask for confirmation to execute **Button04** action*' + selector: + boolean: + entity05: + name: Button 05 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE01" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity05_name: + name: Button 05 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE01" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity05_icon: + name: Button 05 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity05_icon_color: + name: Button 05 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity05_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE01" - Ask for confirmation to execute **Button05** action*' + selector: + boolean: + entity06: + name: Button 06 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE01" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity06_name: + name: Button 06 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE01" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity06_icon: + name: Button 06 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity06_icon_color: + name: Button 06 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity06_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE01" - Ask for confirmation to execute **Button06** action*' + selector: + boolean: + entity07: + name: Button 07 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE01" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity07_name: + name: Button 07 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE01" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity07_icon: + name: Button 07 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity07_icon_color: + name: Button 07 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity07_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE01" - Ask for confirmation to execute **Button07** action*' + selector: + boolean: + entity08: + name: Button 08 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE01" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity08_name: + name: Button 08 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE01" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity08_icon: + name: Button 08 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity08_icon_color: + name: Button 08 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity08_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE01" - Ask for confirmation to execute **Button08** action*' + selector: + boolean: + entity09: + name: Button 09 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE02" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity09_name: + name: Button 09 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE02" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity09_icon: + name: Button 09 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity09_icon_color: + name: Button 09 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity09_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE02" - Ask for confirmation to execute **Button09** action*' + selector: + boolean: + entity10: + name: Button 10 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE02" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity10_name: + name: Button 10 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE02" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity10_icon: + name: Button 10 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity10_icon_color: + name: Button 10 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity10_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE02" - Ask for confirmation to execute **Button10** action*' + selector: + boolean: + entity11: + name: Button 11 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE02" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity11_name: + name: Button 11 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE02" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity11_icon: + name: Button 11 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity11_icon_color: + name: Button 11 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity11_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE02" - Ask for confirmation to execute **Button11** action*' + selector: + boolean: + entity12: + name: Button 12 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE02" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity12_name: + name: Button 12 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE02" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity12_icon: + name: Button 12 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity12_icon_color: + name: Button 12 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity12_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE02" - Ask for confirmation to execute **Button12** action*' + selector: + boolean: + entity13: + name: Button 13 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE02" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity13_name: + name: Button 13 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE02" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity13_icon: + name: Button 13 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity13_icon_color: + name: Button 13 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity13_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE02" - Ask for confirmation to execute **Button13** action*' + selector: + boolean: + entity14: + name: Button 14 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE02" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity14_name: + name: Button 14 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE02" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity14_icon: + name: Button 14 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity14_icon_color: + name: Button 14 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity14_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE02" - Ask for confirmation to execute **Button14** action*' + selector: + boolean: + entity15: + name: Button 15 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE02" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity15_name: + name: Button 15 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE02" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity15_icon: + name: Button 15 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity15_icon_color: + name: Button 15 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity15_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE02" - Ask for confirmation to execute **Button15** action*' + selector: + boolean: + entity16: + name: Button 16 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE02" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity16_name: + name: Button 16 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE02" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity16_icon: + name: Button 16 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity16_icon_color: + name: Button 16 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity16_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE02" - Ask for confirmation to execute **Button16** action*' + selector: + boolean: + entity17: + name: Button 17 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE03" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity17_name: + name: Button 17 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE03" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity17_icon: + name: Button 17 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity17_icon_color: + name: Button 17 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity17_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE03" - Ask for confirmation to execute **Button17** action*' + selector: + boolean: + entity18: + name: Button 18 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE03" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity18_name: + name: Button 18 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE03" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity18_icon: + name: Button 18 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity18_icon_color: + name: Button 18 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity18_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE03" - Ask for confirmation to execute **Button18** action*' + selector: + boolean: + entity19: + name: Button 19 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE03" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity19_name: + name: Button 19 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE03" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity19_icon: + name: Button 19 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity19_icon_color: + name: Button 19 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity19_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE03" - Ask for confirmation to execute **Button19** action*' + selector: + boolean: + entity20: + name: Button 20 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE03" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity20_name: + name: Button 20 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE03" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity20_icon: + name: Button 20 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity20_icon_color: + name: Button 20 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity20_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE03" - Ask for confirmation to execute **Button20** action*' + selector: + boolean: + entity21: + name: Button 21 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE03" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity21_name: + name: Button 21 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE03" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity21_icon: + name: Button 21 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity21_icon_color: + name: Button 21 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity21_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE03" - Ask for confirmation to execute **Button21** action*' + selector: + boolean: + entity22: + name: Button 22 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE03" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity22_name: + name: Button 22 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE03" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity22_icon: + name: Button 22 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity22_icon_color: + name: Button 22 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity22_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE03" - Ask for confirmation to execute **Button22** action*' + selector: + boolean: + entity23: + name: Button 23 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE03" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity23_name: + name: Button 23 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE03" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity23_icon: + name: Button 23 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity23_icon_color: + name: Button 23 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity23_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE03" - Ask for confirmation to execute **Button23** action*' + selector: + boolean: + entity24: + name: Button 24 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE03" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity24_name: + name: Button 24 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE03" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity24_icon: + name: Button 24 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity24_icon_color: + name: Button 24 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity24_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE03" - Ask for confirmation to execute **Button24** action*' + selector: + boolean: + entity25: + name: Button 25 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE04" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity25_name: + name: Button 25 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE04" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity25_icon: + name: Button 25 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity25_icon_color: + name: Button 25 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity25_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE04" - Ask for confirmation to execute **Button25** action*' + selector: + boolean: + entity26: + name: Button 26 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE04" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity26_name: + name: Button 26 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE04" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity26_icon: + name: Button 26 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity26_icon_color: + name: Button 26 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity26_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE04" - Ask for confirmation to execute **Button26** action*' + selector: + boolean: + entity27: + name: Button 27 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE04" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity27_name: + name: Button 27 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE04" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity27_icon: + name: Button 27 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity27_icon_color: + name: Button 27 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity27_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE04" - Ask for confirmation to execute **Button27** action*' + selector: + boolean: + entity28: + name: Button 28 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE04" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity28_name: + name: Button 28 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE04" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity28_icon: + name: Button 28 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity28_icon_color: + name: Button 28 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity28_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE04" - Ask for confirmation to execute **Button28** action*' + selector: + boolean: + entity29: + name: Button 29 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE04" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity29_name: + name: Button 29 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE04" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity29_icon: + name: Button 29 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity29_icon_color: + name: Button 29 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity29_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE04" - Ask for confirmation to execute **Button29** action*' + selector: + boolean: + entity30: + name: Button 30 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE04" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity30_name: + name: Button 30 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE04" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity30_icon: + name: Button 30 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity30_icon_color: + name: Button 30 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity30_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE04" - Ask for confirmation to execute **Button30** action*' + selector: + boolean: + entity31: + name: Button 31 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE04" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity31_name: + name: Button 31 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE04" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity31_icon: + name: Button 31 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity31_icon_color: + name: Button 31 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*' + default: 1055 #Blue #Blue + selector: + text: {} + entity31_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE04" - Ask for confirmation to execute **Button31** action*' + selector: + boolean: + entity32: + name: Button 32 - ENTITY (Optional) + description: '* *Page "BUTTONPAGE04" - Entity which should be switched (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' + default: [] + selector: + entity: + domain: + - light + - switch + - cover + - input_boolean + - automation + - button + - input_button + - scene + - person + - script + - binary_sensor + - fan + - climate + entity32_name: + name: Button 32 name - LABEL (Optional) + description: '* *Page "BUTTONPAGE04" - Label which should be displayed (10 characters are supported)*' + default: [] + selector: + text: {} + entity32_icon: + name: Button 32 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (Default - an icon matching the entity will be set automatically)*' + default: [] + selector: + text: {} + entity32_icon_color: + name: Button 32 - ICON COLOR (Optional) + description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*' + default: 1055 #Blue + selector: + text: {} + entity32_confirm: + name: Confirm execution of the button press - TRUE/FALSE (Optional) + default: false + description: '* *Page "BUTTONPAGE04" - Ask for confirmation to execute **Button32** action*' + selector: + boolean: + + ##### PLACEHOLDER ###################################################################### + placeholder08: + name: 'Is only a placeholder without function for a better overview' + description: '# ✅ ENTITY PAGE 01-04 ✅ ' + default: 'entitypage' + selector: + select: + options: + - entitypage + ##### PLACEHOLDER ###################################################################### + + ##### ENTITY Pages Config ##### + entitypages_enabled: + name: Activate entity page - TRUE/FALSE (Optional) + default: false + description: '* *"SYSTEM" - activate entity page and entity page Button on the home page* ' + selector: + boolean: + home_button06_icon: + name: Entity page - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (Default #EDCF) *' + default:  #EDCF + selector: + text: {} + home_button06_icon_color: + name: Entity page - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*' + default: 52857 #Grey super light + selector: + text: {} + ##### ENTITY Page Labels ##### + entity_page01_label: + name: Entity page 01 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE01" - Label which should be displayed*' + default: [] + selector: + text: {} + entity_page02_label: + name: Entity page 02 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE02" - Label which should be displayed*' + default: [] + selector: + text: {} + entity_page03_label: + name: Entity page 03 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE03" - Label which should be displayed*' + default: [] + selector: + text: {} + entity_page04_label: + name: Entity page 04 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE04" - Label which should be displayed*' + default: [] + selector: + text: {} + + ##### ENTITIES ##### + entities_entity01: + name: Entity 01 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE01" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity01_name: + name: Entity 01 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE01" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity01_icon: + name: Entity 01 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity02: + name: Entity 02 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE01" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity02_name: + name: Entity 02 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE01" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity02_icon: + name: Entity 02 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity03: + name: Entity 03 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE01" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity03_name: + name: Entity 03 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE01" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity03_icon: + name: Entity 03 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity04: + name: Entity 04 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE01" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity04_name: + name: Entity 04 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE01" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity04_icon: + name: Entity 04 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity05: + name: Entity 05 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE01" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity05_name: + name: Entity 05 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE01" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity05_icon: + name: Entity 05 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity06: + name: Entity 06 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE01" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity06_name: + name: Entity 06 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE01" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity06_icon: + name: Entity 06 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity07: + name: Entity 07 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE01" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity07_name: + name: Entity 07 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE01" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity07_icon: + name: Entity 07 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity08: + name: Entity 08 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE01" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity08_name: + name: Entity 08 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE01" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity08_icon: + name: Entity 08 - ICON (Optional) + description: '* *Page "BUTTONPAGE01" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity09: + name: Entity 09 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE02" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity09_name: + name: Entity 09 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE02" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity09_icon: + name: Entity 09 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity10: + name: Entity 10 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE02" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity10_name: + name: Entity 10 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE02" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity10_icon: + name: Entity 10 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity11: + name: Entity 11 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE02" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity11_name: + name: Entity 11 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE02" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity11_icon: + name: Entity 11 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity12: + name: Entity 12 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE02" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity12_name: + name: Entity 12 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE02" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity12_icon: + name: Entity 12 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity13: + name: Entity 13 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE02" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity13_name: + name: Entity 13 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE02" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity13_icon: + name: Entity 13 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity14: + name: Entity 14 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE02" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity14_name: + name: Entity 14 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE02" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity14_icon: + name: Entity 14 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity15: + name: Entity 15 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE02" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity15_name: + name: Entity 15 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE02" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity15_icon: + name: Entity 15 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity16: + name: Entity 16 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE02" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity16_name: + name: Entity 16 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE02" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity16_icon: + name: Entity 16 - ICON (Optional) + description: '* *Page "BUTTONPAGE02" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity17: + name: Entity 17 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE03" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity17_name: + name: Entity 17 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE03" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity17_icon: + name: Entity 17 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity18: + name: Entity 18 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE03" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity18_name: + name: Entity 18 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE03" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity18_icon: + name: Entity 18 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity19: + name: Entity 19 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE03" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity19_name: + name: Entity 19 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE03" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity19_icon: + name: Entity 19 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity20: + name: Entity 20 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE03" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity20_name: + name: Entity 20 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE03" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity20_icon: + name: Entity 20 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity21: + name: Entity 21 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE03" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity21_name: + name: Entity 21 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE03" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity21_icon: + name: Entity 21 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity22: + name: Entity 22 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE03" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity22_name: + name: Entity 22 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE03" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity22_icon: + name: Entity 22 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity23: + name: Entity 23 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE03" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity23_name: + name: Entity 23 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE03" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity23_icon: + name: Entity 23 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity24: + name: Entity 24 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE03" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity24_name: + name: Entity 24 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE03" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity24_icon: + name: Entity 24 - ICON (Optional) + description: '* *Page "BUTTONPAGE03" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity25: + name: Entity 25 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE04" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity25_name: + name: Entity 25 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE04" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity25_icon: + name: Entity 25 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity26: + name: Entity 26 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE04" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity26_name: + name: Entity 26 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE04" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity26_icon: + name: Entity 26 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity27: + name: Entity 27 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE04" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity27_name: + name: Entity 27 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE04" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity27_icon: + name: Entity 27 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity28: + name: Entity 28 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE04" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity28_name: + name: Entity 28 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE04" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity28_icon: + name: Entity 28 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity29: + name: Entity 29 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE04" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity29_name: + name: Entity 29 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE04" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity29_icon: + name: Entity 29 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity30: + name: Entity 30 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE04" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity30_name: + name: Entity 30 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE04" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity30_icon: + name: Entity 30 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity31: + name: Entity 31 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE04" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity31_name: + name: Entity 31 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE04" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity31_icon: + name: Entity 31 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + entities_entity32: + name: Entity 32 - ENTITY (Optional) + description: '* *Page "ENTITYPAGE04" - entity which should be displayed*' + default: [] + selector: + entity: + entities_entity32_name: + name: Entity 32 name - LABEL (Optional) + description: '* *Page "ENTITYPAGE04" - Label which should be displayed (replaces the **"friendly_name"** of the entity)*' + default: [] + selector: + text: {} + entities_entity32_icon: + name: Entity 32 - ICON (Optional) + description: '* *Page "BUTTONPAGE04" - Icon which should be displayed (if not set, no icon is shown)*' + default: [] + selector: + text: {} + + ##### PLACEHOLDER ###################################################################### + placeholder09: + name: 'Is only a placeholder without function for a better overview' + description: '# ✅ CUSTOM CONFIGURATION ✅ ' + default: 'configuration' + selector: + select: + options: + - configuration + ##### PLACEHOLDER ###################################################################### + + ##### General Custom Design ##### + home_button04_icon: + name: Notification - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (Default #E1ED) *' + default:  #E1ED + selector: + text: {} + home_button04_icon_color01: + name: Notification read - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*' + default: 52857 #Grey super light + selector: + text: {} + home_button04_icon_color02: + name: Notification unread - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*' + default: 63488 #Red + selector: + text: {} + relay01_icon: + name: Relay 01 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (Default #E3A5) *' + default:  #E3A5 + selector: + text: {} + relay01_icon_color: + name: Relay 01 - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*' + default: 33808 #Grey light + selector: + text: {} + relay02_icon: + name: Relay 02 - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (Default #E3A8) *' + default:  #E3A8 + selector: + text: {} + relay02_icon_color: + name: Relay - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*' + default: 33808 #Grey light + selector: + text: {} + thermostat_icon: + name: Thermostat - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (Default #E50E) *' + default:  #E50E + selector: + text: {} + heat_icon: + name: Thermostat - ICON (Optional) + description: '* *Page "HOME" - Icon which should be displayed (Default #E50F) *' + default:  #E50F + selector: + text: {} + thermostat_icon_color: + name: Thermostat / Heat - ICON COLOR (Optional) + description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*' + default: 33808 #Grey light + selector: + text: {} + time_label_color: + name: Time - LABEL COLOR (Optional) + description: '* *Page "HOME" - Label color which should be displayed (default color is set)*' + default: 65535 #White + selector: + text: {} + date_label_color: + name: Date - LABEL COLOR (Optional) + description: '* *Page "HOME" - Label color which should be displayed (default color is set)*' + default: 65535 #White + selector: + text: {} + +###### Muss noch Raus ############################################################################################################################################################################### + hotwatertemp: + name: Hot Water Temperature Sensor (Optional) + description: '* *Choose your hot water sensor*' + default: [] + selector: + entity: + domain: + - sensor 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: '1' - 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*' @@ -149,2256 +2869,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - label: 'Yes' value: select_yes - ##### WEATHER ##### - weather: - name: Weather Integration - description: '* *select our Weather Integration*' - default: 'Default' - selector: - select: - options: - - Default - - AccuWeather - weather_entity: - name: Weather entity from HA - description: '* *Select your weather entity.*' - default: [] - selector: - entity: - domain: - - weather - - ##### 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 - - indoortemp: - name: Indoor Temperature Sensor (Optional) - description: '* *An indoor temperature sensor is not necessary. Leave the field empty if you want to use the temperature sensor of the NSPanel. Additionally a temperature correction for the NSPanel sensor is possible under HA Devices. So everyone can adjust the sensor exactly*' - default: [] - selector: - entity: - domain: - - sensor - - home_value01: - name: VALUE Home Page Sensor 1 (Optional) - description: '* *Choose your sensor*' - default: [] - selector: - entity: - domain: - - sensor - home_value01_icon: - name: ICON Home Page Sensor 1 (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - home_value02: - name: VALUE Home Page Sensor 2 (Optional) - description: '* *Choose your sensor*' - default: [] - selector: - entity: - domain: - - sensor - home_value02_icon: - name: ICON Home Page Sensor 2 (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - home_value03: - name: VALUE Home Page Sensor 3 (Optional) - description: '* *Choose your sensor*' - default: [] - selector: - entity: - domain: - - sensor - home_value03_icon: - name: ICON Home Page Sensor 3 (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - hotwatertemp: - name: Hot Water Temperature Sensor (Optional) - description: '* *Choose your hot water sensor*' - default: [] - selector: - entity: - domain: - - sensor - chip01: - name: Chip 1 - Top Menu (Optional) - description: '* *Top Menu Position 4 - Entity for which an icon should be displayed in the top menu when the value is on.*' - default: [] - selector: - entity: - domain: - - binary_sensor - - sensor - - light - - switch - chip01_icon: - name: ICON Chip 1 (Optional) - description: '* *Icon which should be displayed when chip 1 entity is on*' - default: [] - selector: - text: {} - chip02: - name: Chip 2 - Top Menu (Optional) - description: '* *Top Menu Position 5 - Entity for which an icon should be displayed in the top menu when the value is on.*' - default: [] - selector: - entity: - domain: - - binary_sensor - - sensor - - light - - switch - chip02_icon: - name: ICON Chip 2 (Optional) - description: '* *Icon which should be displayed when chip 2 entity is on*' - default: [] - selector: - text: {} - chip03: - name: Chip 3 - Top Menu (Optional) - description: '* *Top Menu Position 6 - Entity for which an icon should be displayed in the top menu when the value is on.*' - default: [] - selector: - entity: - domain: - - binary_sensor - - sensor - - light - - switch - chip03_icon: - name: ICON Chip 3 (Optional) - description: '* *Icon which should be displayed when chip3 entity is on*' - default: [] - selector: - text: {} - chip04: - name: Chip 4 - Top Menu (Optional) - description: '* *Top Menu Position 7 - Entity for which an icon should be displayed in the top menu when the value is on.*' - default: [] - selector: - entity: - domain: - - binary_sensor - - sensor - - light - - switch - chip04_icon: - name: ICON Chip 4 (Optional) - description: '* *Icon which should be displayed when chip 4 entity is on*' - default: [] - selector: - text: {} - chip05: - name: Chip 5 - Top Menu (Optional) - description: '* *Top Menu Position 8 - Entity for which an icon should be displayed in the top menu when the value is on.*' - default: [] - selector: - entity: - domain: - - binary_sensor - - sensor - - light - - switch - chip05_icon: - name: ICON Chip 5 (Optional) - description: '* *Icon which should be displayed when chip 5 entity is on*' - default: [] - selector: - text: {} - chip06: - name: Chip 6 - Top Menu (Optional) - description: '* *Top Menu Position 9 - Entity for which an icon should be displayed in the top menu when the value is on.*' - default: [] - selector: - entity: - domain: - - binary_sensor - - sensor - - light - - switch - chip06_icon: - name: ICON Chip 6 (Optional) - description: '* *Icon which should be displayed when chip 6 entity is on*' - default: [] - selector: - text: {} - chip07: - name: Chip 7 - Top Menu (Optional) - description: '* *Top Menu Position 10 - Entity for which an icon should be displayed in the top menu when the value is on.*' - default: [] - selector: - entity: - domain: - - binary_sensor - - sensor - - light - - switch - chip07_icon: - name: ICON Chip 7 (Optional) - description: '* *Icon which should be displayed when chip 7 entity is on*' - default: [] - selector: - text: {} - 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 - 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: - - qrcode_state: - name: Activate QR Code (Optional) - default: false - description: '* *activate the QR code page and QR Code Button on the home page* ' - selector: - boolean: - - qrcode_label: - name: Name "QR Code Page" (Optional) - description: '* *Displayed on top of **"QR Code"***' - default: [] - selector: - text: {} - - qrcode_value: - name: QR Code content (Optional) - description: '* *Value you want to display as QR code*' - default: [] - selector: - text: {} - - ##### HARDWARE BUTTONS ##### - hold_delay: - name: Delay for HW-Button hold in seconds - description: '* *Time in seconds to detect a hold*' - default: 1.0 - selector: - number: - min: 1.0 - max: 10.0 - step: 1.0 - unit_of_measurement: seconds - 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 - - automation - - button - - input_button - - scene - - script - - fan - left_button_name: - name: Name "Left Button" (Optional) - description: '* *Left Button label - 10 characters are supported*' - default: [] - selector: - text: {} - relay_1_local_fallback: - name: Activate Relay 1 local Fallback (Optional) - default: false - description: '* *activate this to use left button to toggle relay 1 if display is offline* ' - selector: - boolean: - left_button_hold_select: - name: Left button hold assignment (Optional) - description: '* *select what shold happen on hold*' - default: 'Default' - selector: - select: - options: - - Default - - Custom Action - left_button_hold_custom_action: - name: Left button custom hold action (Optional) - description: '* The action(s) to launch on hold**' - default: [] - selector: - action: - 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 - - automation - - button - - input_button - - scene - - script - - fan - right_button_name: - name: Name "Right Button" (Optional) - description: '* *Right Button label - 10 characters are supported*' - default: [] - selector: - text: {} - relay_2_local_fallback: - name: Activate Relay 2 local Fallback (Optional) - default: false - description: '* *activate this to use right button to toggle relay 2 if display is offline* ' - selector: - boolean: - right_button_hold_select: - name: Right button hold assignment (Optional) - description: '* *select what shold happen on hold*' - default: 'Default' - selector: - select: - options: - - Default - - Custom Action - right_button_hold_custom_action: - name: Right button custom hold action (Optional) - description: '* The action(s) to launch on hold**' - default: [] - selector: - action: - - ##### BUTTON Page Labels ##### - button_page01_label: - name: Name "Button Page 1" (Optional) - description: '* *Displayed on top of **"Button Page 1"***' - default: [] - selector: - text: {} - - button_page02_label: - name: Name "Button Page 2" (Optional) - description: '* *Displayed on top of **"Button Page 2"***' - default: [] - selector: - text: {} - - button_page03_label: - name: Name "Button Page 3" (Optional) - description: '* *Displayed on top of **"Button Page 3"***' - default: [] - selector: - text: {} - - button_page04_label: - name: Name "Button Page 4" (Optional) - description: '* *Displayed on top of **"Button Page 4"***' - default: [] - selector: - text: {} - - ##### BUTTONS ##### - entity01: - name: Button 01 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity01_name: - name: Name "Button 01" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity01_icon: - name: Icon "Button 01" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity01_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button01"** action*' - selector: - boolean: - entity02: - name: Button 02 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity02_name: - name: Name "Button 02" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity02_icon: - name: Icon "Button 02" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity02_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button02"** action*' - selector: - boolean: - entity03: - name: Button 03 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity03_name: - name: Name "Button 03" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity03_icon: - name: Icon "Button 03" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity03_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button03"** action*' - selector: - boolean: - entity04: - name: Button 04 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity04_name: - name: Name "Button 04" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity04_icon: - name: Icon "Button 04" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity04_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button04"** action*' - selector: - boolean: - entity05: - name: Button 05 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity05_name: - name: Name "Button 05" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity05_icon: - name: Icon "Button 05" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity05_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button05"** action*' - selector: - boolean: - entity06: - name: Button 06 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity06_name: - name: Name "Button 06" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity06_icon: - name: Icon "Button 06" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity06_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button06"** action*' - selector: - boolean: - entity07: - name: Button 07 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity07_name: - name: Name "Button 07" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity07_icon: - name: Icon "Button 07" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity07_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button07"** action*' - selector: - boolean: - entity08: - name: Button 08 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity08_name: - name: Name "Button 08" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity08_icon: - name: Icon "Button 08" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity08_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button08"** action*' - selector: - boolean: - entity09: - name: Button 09 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity09_name: - name: Name "Button 09" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity09_icon: - name: Icon "Button 09" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity09_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button09"** action*' - selector: - boolean: - entity10: - name: Button 10 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity10_name: - name: Name "Button 10" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity10_icon: - name: Icon "Button 10" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity10_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button10"** action*' - selector: - boolean: - entity11: - name: Button 11 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity11_name: - name: Name "Button 11" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity11_icon: - name: Icon "Button 11" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity11_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button11"** action*' - selector: - boolean: - entity12: - name: Button 12 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity12_name: - name: Name "Button 12" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity12_icon: - name: Icon "Button 12" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity12_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button12"** action*' - selector: - boolean: - entity13: - name: Button 13 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity13_name: - name: Name "Button 13" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity13_icon: - name: Icon "Button 13" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity13_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button13"** action*' - selector: - boolean: - entity14: - name: Button 14 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity14_name: - name: Name "Button 14" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity14_icon: - name: Icon "Button 14" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity14_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button14"** action*' - selector: - boolean: - entity15: - name: Button 15 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity15_name: - name: Name "Button 15" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity15_icon: - name: Icon "Button 15" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity15_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button15"** action*' - selector: - boolean: - entity16: - name: Button 16 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity16_name: - name: Name "Button 16" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity16_icon: - name: Icon "Button 16" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity16_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button16"** action*' - selector: - boolean: - entity17: - name: Button 17 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity17_name: - name: Name "Button 17" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity17_icon: - name: Icon "Button 17" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity17_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button17"** action*' - selector: - boolean: - entity18: - name: Button 18 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity18_name: - name: Name "Button 18" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity18_icon: - name: Icon "Button 18" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity18_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button18"** action*' - selector: - boolean: - entity19: - name: Button 19 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity19_name: - name: Name "Button 19" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity19_icon: - name: Icon "Button 19" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity19_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button19"** action*' - selector: - boolean: - entity20: - name: Button 20 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity20_name: - name: Name "Button 20" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity20_icon: - name: Icon "Button 20" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity20_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button20"** action*' - selector: - boolean: - entity21: - name: Button 21 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity21_name: - name: Name "Button 21" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity21_icon: - name: Icon "Button 21" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity21_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button21"** action*' - selector: - boolean: - entity22: - name: Button 22 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity22_name: - name: Name "Button 22" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity22_icon: - name: Icon "Button 22" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity22_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button22"** action*' - selector: - boolean: - entity23: - name: Button 23 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity23_name: - name: Name "Button 23" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity23_icon: - name: Icon "Button 23" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity23_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button23"** action*' - selector: - boolean: - entity24: - name: Button 24 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity24_name: - name: Name "Button 24" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity24_icon: - name: Icon "Button 24" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity24_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button24"** action*' - selector: - boolean: - entity25: - name: Button 25 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity25_name: - name: Name "Button 25" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity25_icon: - name: Icon "Button 25" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity25_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button25"** action*' - selector: - boolean: - entity26: - name: Button 26 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity26_name: - name: Name "Button 26" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity26_icon: - name: Icon "Button 26" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity26_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button26"** action*' - selector: - boolean: - entity27: - name: Button 27 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity27_name: - name: Name "Button 27" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity27_icon: - name: Icon "Button 27" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity27_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button27"** action*' - selector: - boolean: - entity28: - name: Button 28 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity28_name: - name: Name "Button 28" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity28_icon: - name: Icon "Button 28" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity28_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button28"** action*' - selector: - boolean: - entity29: - name: Button 29 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity29_name: - name: Name "Button 29" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity29_icon: - name: Icon "Button 29" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity29_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button29"** action*' - selector: - boolean: - entity30: - name: Button 30 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity30_name: - name: Name "Button 30" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity30_icon: - name: Icon "Button 30" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity30_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button30"** action*' - selector: - boolean: - entity31: - name: Button 31 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity31_name: - name: Name "Button 31" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity31_icon: - name: Icon "Button 31" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity31_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button31"** action*' - selector: - boolean: - entity32: - name: Button 32 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' - default: [] - selector: - entity: - domain: - - light - - switch - - cover - - input_boolean - - automation - - button - - input_button - - scene - - person - - script - - binary_sensor - - fan - - climate - entity32_name: - name: Name "Button 32" (Optional) - description: '* *Button label - 10 characters are supported*' - default: [] - selector: - text: {} - entity32_icon: - name: Icon "Button 32" (Optional) - description: '* *Button icon - sets an icon for the button (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - entity32_confirm: - name: Confirm execution of the button press (Optional) - default: false - description: '* *Ask for confirmation to execute **"Button32"** action*' - selector: - boolean: - - ##### ENTITY Pages Config ##### - entitypages_enabled: - name: Activate Entity Pages (Optional) - default: false - description: '* *activate the entity pages and Entity Button on the home page* ' - selector: - boolean: - - ##### ENTITY Page Labels ##### - entity_page01_label: - name: Name "Entity Page 1" (Optional) - description: '* *Displayed on top of **"Entity Page 1"***' - default: [] - selector: - text: {} - - entity_page02_label: - name: Name "Entity Page 2" (Optional) - description: '* *Displayed on top of **"Entity Page 2"***' - default: [] - selector: - text: {} - - entity_page03_label: - name: Name "Entity Page 3" (Optional) - description: '* *Displayed on top of **"Entity Page 3"***' - default: [] - selector: - text: {} - - entity_page04_label: - name: Name "Entity Page 4" (Optional) - description: '* *Displayed on top of **"Entity Page 4"***' - default: [] - selector: - text: {} - - ##### ENTITIES ##### - entities_entity01: - name: Entity 01 (Optional) - description: '* *Displayed on **"Entity Page 1"***' - default: [] - selector: - entity: - entities_entity01_name: - name: Name "Entity 01" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity01_icon: - name: Icon "Entity 01" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity02: - name: Entity 02 (Optional) - description: '* *Displayed on **"Entity Page 1"***' - default: [] - selector: - entity: - entities_entity02_name: - name: Name "Entity 02" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity02_icon: - name: Icon "Entity 02" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity03: - name: Entity 03 (Optional) - description: '* *Displayed on **"Entity Page 1"***' - default: [] - selector: - entity: - entities_entity03_name: - name: Name "Entity 03" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity03_icon: - name: Icon "Entity 03" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity04: - name: Entity 04 (Optional) - description: '* *Displayed on **"Entity Page 1"***' - default: [] - selector: - entity: - entities_entity04_name: - name: Name "Entity 04" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity04_icon: - name: Icon "Entity 04" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity05: - name: Entity 05 (Optional) - description: '* *Displayed on **"Entity Page 1"***' - default: [] - selector: - entity: - entities_entity05_name: - name: Name "Entity 05" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity05_icon: - name: Icon "Entity 05" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity06: - name: Entity 06 (Optional) - description: '* *Displayed on **"Entity Page 1"***' - default: [] - selector: - entity: - entities_entity06_name: - name: Name "Entity 06" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity06_icon: - name: Icon "Entity 06" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity07: - name: Entity 07 (Optional) - description: '* *Displayed on **"Entity Page 1"***' - default: [] - selector: - entity: - entities_entity07_name: - name: Name "Entity 07" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity07_icon: - name: Icon "Entity 07" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity08: - name: Entity 08 (Optional) - description: '* *Displayed on **"Entity Page 1"***' - default: [] - selector: - entity: - entities_entity08_name: - name: Name "Entity 08" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity08_icon: - name: Icon "Entity 08" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity09: - name: Entity 09 (Optional) - description: '* *Displayed on **"Entity Page 2"***' - default: [] - selector: - entity: - entities_entity09_name: - name: Name "Entity 09" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity09_icon: - name: Icon "Entity 09" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity10: - name: Entity 10 (Optional) - description: '* *Displayed on **"Entity Page 2"***' - default: [] - selector: - entity: - entities_entity10_name: - name: Name "Entity 10" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity10_icon: - name: Icon "Entity 10" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity11: - name: Entity 11 (Optional) - description: '* *Displayed on **"Entity Page 2"***' - default: [] - selector: - entity: - entities_entity11_name: - name: Name "Entity 11" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity11_icon: - name: Icon "Entity 11" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity12: - name: Entity 12 (Optional) - description: '* *Displayed on **"Entity Page 2"***' - default: [] - selector: - entity: - entities_entity12_name: - name: Name "Entity 12" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity12_icon: - name: Icon "Entity 12" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity13: - name: Entity 13 (Optional) - description: '* *Displayed on **"Entity Page 2"***' - default: [] - selector: - entity: - entities_entity13_name: - name: Name "Entity 13" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity13_icon: - name: Icon "Entity 13" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity14: - name: Entity 14 (Optional) - description: '* *Displayed on **"Entity Page 2"***' - default: [] - selector: - entity: - entities_entity14_name: - name: Name "Entity 14" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity14_icon: - name: Icon "Entity 14" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity15: - name: Entity 15 (Optional) - description: '* *Displayed on **"Entity Page 2"***' - default: [] - selector: - entity: - entities_entity15_name: - name: Name "Entity 15" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity15_icon: - name: Icon "Entity 15" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity16: - name: Entity 16 (Optional) - description: '* *Displayed on **"Entity Page 2"***' - default: [] - selector: - entity: - entities_entity16_name: - name: Name "Entity 16" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity16_icon: - name: Icon "Entity 16" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity17: - name: Entity 17 (Optional) - description: '* *Displayed on **"Entity Page 3"***' - default: [] - selector: - entity: - entities_entity17_name: - name: Name "Entity 17" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity17_icon: - name: Icon "Entity 17" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity18: - name: Entity 18 (Optional) - description: '* *Displayed on **"Entity Page 3"***' - default: [] - selector: - entity: - entities_entity18_name: - name: Name "Entity 18" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity18_icon: - name: Icon "Entity 18" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity19: - name: Entity 19 (Optional) - description: '* *Displayed on **"Entity Page 3"***' - default: [] - selector: - entity: - entities_entity19_name: - name: Name "Entity 19" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity19_icon: - name: Icon "Entity 19" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity20: - name: Entity 20 (Optional) - description: '* *Displayed on **"Entity Page 3"***' - default: [] - selector: - entity: - entities_entity20_name: - name: Name "Entity 20" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity20_icon: - name: Icon "Entity 20" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity21: - name: Entity 21 (Optional) - description: '* *Displayed on **"Entity Page 3"***' - default: [] - selector: - entity: - entities_entity21_name: - name: Name "Entity 21" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity21_icon: - name: Icon "Entity 21" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity22: - name: Entity 22 (Optional) - description: '* *Displayed on **"Entity Page 3"***' - default: [] - selector: - entity: - entities_entity22_name: - name: Name "Entity 22" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity22_icon: - name: Icon "Entity 22" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity23: - name: Entity 23 (Optional) - description: '* *Displayed on **"Entity Page 3"***' - default: [] - selector: - entity: - entities_entity23_name: - name: Name "Entity 23" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity23_icon: - name: Icon "Entity 23" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity24: - name: Entity 24 (Optional) - description: '* *Displayed on **"Entity Page 3"***' - default: [] - selector: - entity: - entities_entity24_name: - name: Name "Entity 24" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity24_icon: - name: Icon "Entity 24" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity25: - name: Entity 25 (Optional) - description: '* *Displayed on **"Entity Page 4"***' - default: [] - selector: - entity: - entities_entity25_name: - name: Name "Entity 25" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity25_icon: - name: Icon "Entity 25" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity26: - name: Entity 26 (Optional) - description: '* *Displayed on **"Entity Page 4"***' - default: [] - selector: - entity: - entities_entity26_name: - name: Name "Entity 26" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity26_icon: - name: Icon "Entity 26" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity27: - name: Entity 27 (Optional) - description: '* *Displayed on **"Entity Page 4"***' - default: [] - selector: - entity: - entities_entity27_name: - name: Name "Entity 27" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity27_icon: - name: Icon "Entity 27" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity28: - name: Entity 28 (Optional) - description: '* *Displayed on **"Entity Page 4"***' - default: [] - selector: - entity: - entities_entity28_name: - name: Name "Entity 28" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity28_icon: - name: Icon "Entity 28" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity29: - name: Entity 29 (Optional) - description: '* *Displayed on **"Entity Page 4"***' - default: [] - selector: - entity: - entities_entity29_name: - name: Name "Entity 29" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity29_icon: - name: Icon "Entity 29" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity30: - name: Entity 30 (Optional) - description: '* *Displayed on **"Entity Page 4"***' - default: [] - selector: - entity: - entities_entity30_name: - name: Name "Entity 30" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity30_icon: - name: Icon "Entity 30" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity31: - name: Entity 31 (Optional) - description: '* *Displayed on **"Entity Page 4"***' - default: [] - selector: - entity: - entities_entity31_name: - name: Name "Entity 31" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity31_icon: - name: Icon "Entity 31" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - entities_entity32: - name: Entity 32 (Optional) - description: '* *Displayed on **"Entity Page 4"***' - default: [] - selector: - entity: - entities_entity32_name: - name: Name "Entity 32" (Optional) - description: '* *Entity label - replaces the **"friendly_name"** of the entity*' - default: [] - selector: - text: {} - entities_entity32_icon: - name: Icon "Entity 32" (Optional) - description: '* *Entity icon - sets an icon for the entity (e.g.: ) - if not set, no icon is shown*' - default: [] - selector: - text: {} - - mode: parallel max: 5000 trace: - stored_traces: 20 + stored_traces: 10 ############################################################# ##### CLOSE - INPUT ##### @@ -2427,6 +2902,7 @@ trigger_variables: relay02_entity: "switch.{{ nspanel_name }}_relay_2" nspaneltemp: "sensor.{{ nspanel_name }}_temperature" settings_entity: "sensor.{{ nspanel_name }}_settings_entity" + reboot_button: "button.{{ nspanel_name }}_restart" ##### notification Trigger ##### notification_unread: "switch.{{ nspanel_name }}_notification_unread" @@ -2458,6 +2934,7 @@ variables: command_notification_clear: "esphome.{{ nspanel_name }}_notification_clear" command_play_rtttl: "esphome.{{ nspanel_name }}_play_rtttl" command_set_settings_entity: "esphome.{{ nspanel_name }}_set_settings_entity" + command_show_all: "esphome.{{ nspanel_name }}_send_command_show_all" ###### SYNC SETTINGS ##### delay_boot: !input "delay" @@ -2472,33 +2949,15 @@ variables: tft_path: !input "tft_path" ##### GENERAL ENTITYS ##### - home_value01: !input "home_value01" - home_value01_icon: !input "home_value01_icon" - home_value02: !input "home_value02" - home_value02_icon: !input "home_value02_icon" - home_value03: !input "home_value03" - home_value03_icon: !input "home_value03_icon" - chip01: !input "chip01" - chip01_icon: !input "chip01_icon" - chip02: !input "chip02" - chip02_icon: !input "chip02_icon" - chip03: !input "chip03" - chip03_icon: !input "chip03_icon" - chip04: !input "chip04" - chip04_icon: !input "chip04_icon" - chip05: !input "chip05" - chip05_icon: !input "chip05_icon" - chip06: !input "chip06" - chip06_icon: !input "chip06_icon" - chip07: !input "chip07" - chip07_icon: !input "chip07_icon" + + hotwatertemp: !input "hotwatertemp" outdoortemp: !input "outdoortemp" indoortemp: !input "indoortemp" climate: !input "climate" qrcode_label: !input "qrcode_label" qrcode_value: !input "qrcode_value" - qrcode_state: !input "qrcode_state" + qrcode_enabled: !input "qrcode_enabled" relay_1_local_fallback: !input "relay_1_local_fallback" relay_2_local_fallback: !input "relay_2_local_fallback" @@ -2511,43 +2970,40 @@ variables: right_button_hold_select: !input "right_button_hold_select" ##### NEXTION PIC MAPPING ##### - button_off: "140" - button_on: "141" - button_light_off: "62" - button_light_on: "63" - button_switch_off: "64" - button_switch_on: "65" - button_cover_off: "66" - button_cover_on: "67" - button_automation_off: "107" - button_automation_on: "108" - button_button_off: "109" - button_button_on: "110" - button_scene_off: "113" - button_scene_on: "114" - button_person_off: "111" - button_person_on: "112" - button_script_off: "107" - button_script_on: "108" - button_binary_sensor_off: '107' - button_binary_sensor_on: '108' - button_fan_off: "121" - button_fan_on: "122" - button_climate_off: "121" - button_climate_on: "122" - 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" + # button_light_off: "62" + # button_light_on: "63" + # button_switch_off: "64" + # button_switch_on: "65" + # button_cover_off: "66" + # button_cover_on: "67" + # button_automation_off: "107" + # button_automation_on: "108" + # button_button_off: "109" + # button_button_on: "110" + # button_scene_off: "113" + # button_scene_on: "114" + # button_person_off: "111" + # button_person_on: "112" + # button_script_off: "107" + # button_script_on: "108" + # button_binary_sensor_off: '107' + # button_binary_sensor_on: '108' + # button_fan_off: "121" + # button_fan_on: "122" + # button_climate_off: "121" + # button_climate_on: "122" + + + # cover_pic_closed: "78" + # cover_pic_open: "79" + # 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" @@ -2571,54 +3027,26 @@ variables: weather_execptional_night: "14" weather_clear_night: "15" - # humidity_pic - humidity_pic_on: "115" - humidity_pic_blank: "51" + hotw_bt_blank: "79" + hotw_bt_off: "80" + hotw_bt_on: "81" - # 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" - - # home_buttons - home_button_blank: "116" - home_button_notify_white: "117" - home_button_notify_red: "118" - home_button_qrcode: "123" - home_button_entities: "124" ##### CHANGE ME START ########################################################################################################## - ###### NEXTION COLOR MAPPING ##### + ###### GENERAL - NEXTION COLOR MAPPING ##### color_01: "65535" #White color_02: "10597" #Grey dark color_03: "33808" #Grey light color_04: "1055" #Blue color_05: "63488" #Red color_06: "52857" #Grey super light + color_07: "65472" #Yellow ###### "GENERAL" NEXTION FONT ICON MAPPING ##### blank_icon: "\U0000FFFF" #blank macbook bug - home_indoor_temp_icon: "\U0000E50E" #E50E - - ##### "HOME FUNCTION" NEXTION FONT ICON MAPPING ##### - home_button01_icon: "" - home_button02_icon: "" - home_button03_icon: "" - home_button04_icon: "\U0000E1ED" #E1ED - home_button05_icon: "\U0000E432" #E432 - home_button06_icon: "\U0000EDCF" #EDCF - home_button07_icon: "" - - ##### "CHIPS" ICON NEXTION FONT ICON MAPPING ##### - relay01_icon: "\U0000E3A5" #E3A5 - relay02_icon: "\U0000E3A8" #E3A8 - thermostat_icon: "\U0000E50E" #E50E - heat_icon: "\U0000E50F" #E50F + battery_icon: "\U0000F2A1" #F2A1 + battery_icon_color: "52857" #Grey super light ###### "BUTTON" NEXTION FONT ICON MAPPING ##### button_icon_unknown: "\U00000E27" #E027 @@ -2643,9 +3071,407 @@ variables: weather_icon_lightning: "\U0000E592" #E592 weather_icon_wind: "\U0000E59C" #E59C - ##### CHANGE ME END ########################################################################################################## + + + ### Home Page - Feature Buttons ### + home_button01_icon: "" + home_button01_icon_color01: "" + home_button02_icon: "" + home_button02_icon_color02: "" + home_button03_icon: "" + home_button03_icon_color03: "" + home_button04_icon: !input "home_button04_icon" #E1ED + home_button04_icon_color01: !input "home_button04_icon_color01" # Notification + home_button04_icon_color02: "63488" # RED Notification + home_button05_icon: !input "home_button05_icon" #E432 + home_button05_icon_color: !input "home_button05_icon_color" + home_button06_icon: !input "home_button06_icon" #EDCF + home_button06_icon_color: !input "home_button06_icon_color" + home_button07_icon: "" + home_button07_icon_color: "" + + ### Home Page - Value 01 - 03 + home_value01: !input "home_value01" + home_value01_icon: !input "home_value01_icon" + home_value01_icon_color: !input "home_value01_icon_color" + home_value01_label_color: !input "home_value01_label_color" + home_value02: !input "home_value02" + home_value02_icon: !input "home_value02_icon" + home_value02_icon_color: !input "home_value02_icon_color" + home_value02_label_color: !input "home_value02_label_color" + home_value03: !input "home_value03" + home_value03_icon: !input "home_value03_icon" + home_value03_icon_color: !input "home_value03_icon_color" + home_value03_label_color: !input "home_value03_label_color" + + ### Home Page - Chips ### + chip01: !input "chip01" + chip01_icon: !input "chip01_icon" + chip01_icon_color: !input "chip01_icon_color" + chip02: !input "chip02" + chip02_icon: !input "chip02_icon" + chip02_icon_color: !input "chip02_icon_color" + chip03: !input "chip03" + chip03_icon: !input "chip03_icon" + chip03_icon_color: !input "chip03_icon_color" + chip04: !input "chip04" + chip04_icon: !input "chip04_icon" + chip04_icon_color: !input "chip04_icon_color" + chip05: !input "chip05" + chip05_icon: !input "chip05_icon" + chip05_icon_color: !input "chip05_icon_color" + chip06: !input "chip06" + chip06_icon: !input "chip06_icon" + chip06_icon_color: !input "chip06_icon_color" + chip07: !input "chip07" + chip07_icon: !input "chip07_icon" + chip07_icon_color: !input "chip07_icon_color" + + ### Home Page - Chips General ### + relay01_icon: !input "relay01_icon" #E3A5 + relay01_icon_color: !input "relay01_icon_color" + relay02_icon: !input "relay02_icon" #E3A8 + relay02_icon_color: !input "relay02_icon_color" + thermostat_icon: !input "thermostat_icon" #E50E + thermostat_icon_color: !input "thermostat_icon_color" + heat_icon: !input "heat_icon" #\U0000E50F + + ### Home Page - General ### + home_indoor_temp_icon: !input "home_indoor_temp_icon" #E50E + home_indoor_temp_icon_color: !input "home_indoor_temp_icon_color" + home_indoor_temp_label_color: !input "home_indoor_temp_label_color" + home_outdoor_temp_label_color: !input "home_outdoor_temp_label_color" + time_label_color: !input "time_label_color" + date_label_color: !input "date_label_color" + right_button_color: !input "right_button_color" + left_button_color: !input "left_button_color" + + ##### BUTTON Page Labels ##### + button_page01_label: !input button_page01_label + button_page02_label: !input button_page02_label + button_page03_label: !input button_page03_label + button_page04_label: !input button_page04_label + + ##### BUTTONS 1- 32 ##### + entity01: !input "entity01" + entity01_name: !input "entity01_name" + entity01_icon: !input "entity01_icon" + entity01_icon_color: !input "entity01_icon_color" + entity01_confirm: !input "entity01_confirm" + + entity02: !input "entity02" + entity02_name: !input "entity02_name" + entity02_icon: !input "entity02_icon" + entity02_icon_color: !input "entity02_icon_color" + entity02_confirm: !input "entity02_confirm" + + entity03: !input "entity03" + entity03_name: !input "entity03_name" + entity03_icon: !input "entity03_icon" + entity03_icon_color: !input "entity03_icon_color" + entity03_confirm: !input "entity03_confirm" + + entity04: !input "entity04" + entity04_name: !input "entity04_name" + entity04_icon: !input "entity04_icon" + entity04_icon_color: !input "entity04_icon_color" + entity04_confirm: !input "entity04_confirm" + + entity05: !input "entity05" + entity05_name: !input "entity05_name" + entity05_icon: !input "entity05_icon" + entity05_icon_color: !input "entity05_icon_color" + entity05_confirm: !input "entity05_confirm" + + entity06: !input "entity06" + entity06_name: !input "entity06_name" + entity06_icon: !input "entity06_icon" + entity06_icon_color: !input "entity06_icon_color" + entity06_confirm: !input "entity06_confirm" + + entity07: !input "entity07" + entity07_name: !input "entity07_name" + entity07_icon: !input "entity07_icon" + entity07_icon_color: !input "entity07_icon_color" + entity07_confirm: !input "entity07_confirm" + + entity08: !input "entity08" + entity08_name: !input "entity08_name" + entity08_icon: !input "entity08_icon" + entity08_icon_color: !input "entity08_icon_color" + entity08_confirm: !input "entity08_confirm" + + entity09: !input "entity09" + entity09_name: !input "entity09_name" + entity09_icon: !input "entity09_icon" + entity09_icon_color: !input "entity09_icon_color" + entity09_confirm: !input "entity09_confirm" + + entity10: !input "entity10" + entity10_name: !input "entity10_name" + entity10_icon: !input "entity10_icon" + entity10_icon_color: !input "entity10_icon_color" + entity10_confirm: !input "entity10_confirm" + + entity11: !input "entity11" + entity11_name: !input "entity11_name" + entity11_icon: !input "entity11_icon" + entity11_icon_color: !input "entity11_icon_color" + entity11_confirm: !input "entity11_confirm" + + entity12: !input "entity12" + entity12_name: !input "entity12_name" + entity12_icon: !input "entity12_icon" + entity12_icon_color: !input "entity12_icon_color" + entity12_confirm: !input "entity12_confirm" + + entity13: !input "entity13" + entity13_name: !input "entity13_name" + entity13_icon: !input "entity13_icon" + entity13_icon_color: !input "entity13_icon_color" + entity13_confirm: !input "entity13_confirm" + + entity14: !input "entity14" + entity14_name: !input "entity14_name" + entity14_icon: !input "entity14_icon" + entity14_icon_color: !input "entity14_icon_color" + entity14_confirm: !input "entity14_confirm" + + entity15: !input "entity15" + entity15_name: !input "entity15_name" + entity15_icon: !input "entity15_icon" + entity15_icon_color: !input "entity15_icon_color" + entity15_confirm: !input "entity15_confirm" + + entity16: !input "entity16" + entity16_name: !input "entity16_name" + entity16_icon: !input "entity16_icon" + entity16_icon_color: !input "entity16_icon_color" + entity16_confirm: !input "entity16_confirm" + + entity17: !input "entity17" + entity17_name: !input "entity17_name" + entity17_icon: !input "entity17_icon" + entity17_icon_color: !input "entity17_icon_color" + entity17_confirm: !input "entity17_confirm" + + entity18: !input "entity18" + entity18_name: !input "entity18_name" + entity18_icon: !input "entity18_icon" + entity18_icon_color: !input "entity18_icon_color" + entity18_confirm: !input "entity18_confirm" + + entity19: !input "entity19" + entity19_name: !input "entity19_name" + entity19_icon: !input "entity19_icon" + entity19_icon_color: !input "entity19_icon_color" + entity19_confirm: !input "entity19_confirm" + + entity20: !input "entity20" + entity20_name: !input "entity20_name" + entity20_icon: !input "entity20_icon" + entity20_icon_color: !input "entity20_icon_color" + entity20_confirm: !input "entity20_confirm" + + entity21: !input "entity21" + entity21_name: !input "entity21_name" + entity21_icon: !input "entity21_icon" + entity21_icon_color: !input "entity21_icon_color" + entity21_confirm: !input "entity21_confirm" + + entity22: !input "entity22" + entity22_name: !input "entity22_name" + entity22_icon: !input "entity22_icon" + entity22_icon_color: !input "entity22_icon_color" + entity22_confirm: !input "entity22_confirm" + + entity23: !input "entity23" + entity23_name: !input "entity23_name" + entity23_icon: !input "entity23_icon" + entity23_icon_color: !input "entity23_icon_color" + entity23_confirm: !input "entity23_confirm" + + entity24: !input "entity24" + entity24_name: !input "entity24_name" + entity24_icon: !input "entity24_icon" + entity24_icon_color: !input "entity24_icon_color" + entity24_confirm: !input "entity24_confirm" + + entity25: !input "entity25" + entity25_name: !input "entity25_name" + entity25_icon: !input "entity25_icon" + entity25_icon_color: !input "entity25_icon_color" + entity25_confirm: !input "entity25_confirm" + + entity26: !input "entity26" + entity26_name: !input "entity26_name" + entity26_icon: !input "entity26_icon" + entity26_icon_color: !input "entity26_icon_color" + entity26_confirm: !input "entity26_confirm" + + entity27: !input "entity27" + entity27_name: !input "entity27_name" + entity27_icon: !input "entity27_icon" + entity27_icon_color: !input "entity27_icon_color" + entity27_confirm: !input "entity27_confirm" + + entity28: !input "entity28" + entity28_name: !input "entity28_name" + entity28_icon: !input "entity28_icon" + entity28_icon_color: !input "entity28_icon_color" + entity28_confirm: !input "entity28_confirm" + + entity29: !input "entity29" + entity29_name: !input "entity29_name" + entity29_icon: !input "entity29_icon" + entity29_icon_color: !input "entity29_icon_color" + entity29_confirm: !input "entity29_confirm" + + entity30: !input "entity30" + entity30_name: !input "entity30_name" + entity30_icon: !input "entity30_icon" + entity30_icon_color: !input "entity30_icon_color" + entity30_confirm: !input "entity30_confirm" + + entity31: !input "entity31" + entity31_name: !input "entity31_name" + entity31_icon: !input "entity31_icon" + entity31_icon_color: !input "entity31_icon_color" + entity31_confirm: !input "entity31_confirm" + + entity32: !input "entity32" + entity32_name: !input "entity32_name" + entity32_icon: !input "entity32_icon" + entity32_icon_color: !input "entity32_icon_color" + entity32_confirm: !input "entity32_confirm" + + ##### ENTITIES ##### + entitypages_enabled: !input "entitypages_enabled" + + ##### ENTITY Page Labels ##### + entity_page01_label: !input "entity_page01_label" + entity_page02_label: !input "entity_page02_label" + entity_page03_label: !input "entity_page03_label" + entity_page04_label: !input "entity_page04_label" + + ##### ENTITIES 1- 32 ##### + ## page 01 + entities_entity01: !input "entities_entity01" + entities_entity02: !input "entities_entity02" + entities_entity03: !input "entities_entity03" + entities_entity04: !input "entities_entity04" + entities_entity05: !input "entities_entity05" + entities_entity06: !input "entities_entity06" + entities_entity07: !input "entities_entity07" + entities_entity08: !input "entities_entity08" + ## page 02 + entities_entity09: !input "entities_entity09" + entities_entity10: !input "entities_entity10" + entities_entity11: !input "entities_entity11" + entities_entity12: !input "entities_entity12" + entities_entity13: !input "entities_entity13" + entities_entity14: !input "entities_entity14" + entities_entity15: !input "entities_entity15" + entities_entity16: !input "entities_entity16" + ## page 03 + entities_entity17: !input "entities_entity17" + entities_entity18: !input "entities_entity18" + entities_entity19: !input "entities_entity19" + entities_entity20: !input "entities_entity20" + entities_entity21: !input "entities_entity21" + entities_entity22: !input "entities_entity22" + entities_entity23: !input "entities_entity23" + entities_entity24: !input "entities_entity24" + ## page 04 + entities_entity25: !input "entities_entity25" + entities_entity26: !input "entities_entity26" + entities_entity27: !input "entities_entity27" + entities_entity28: !input "entities_entity28" + entities_entity29: !input "entities_entity29" + entities_entity30: !input "entities_entity30" + entities_entity31: !input "entities_entity31" + entities_entity32: !input "entities_entity32" + ## page 01 - name + entities_entity01_name: !input "entities_entity01_name" + entities_entity02_name: !input "entities_entity02_name" + entities_entity03_name: !input "entities_entity03_name" + entities_entity04_name: !input "entities_entity04_name" + entities_entity05_name: !input "entities_entity05_name" + entities_entity06_name: !input "entities_entity06_name" + entities_entity07_name: !input "entities_entity07_name" + entities_entity08_name: !input "entities_entity08_name" + ## page 02 - name + entities_entity09_name: !input "entities_entity09_name" + entities_entity10_name: !input "entities_entity10_name" + entities_entity11_name: !input "entities_entity11_name" + entities_entity12_name: !input "entities_entity12_name" + entities_entity13_name: !input "entities_entity13_name" + entities_entity14_name: !input "entities_entity14_name" + entities_entity15_name: !input "entities_entity15_name" + entities_entity16_name: !input "entities_entity16_name" + ## page 03 - name + entities_entity17_name: !input "entities_entity17_name" + entities_entity18_name: !input "entities_entity18_name" + entities_entity19_name: !input "entities_entity19_name" + entities_entity20_name: !input "entities_entity20_name" + entities_entity21_name: !input "entities_entity21_name" + entities_entity22_name: !input "entities_entity22_name" + entities_entity23_name: !input "entities_entity23_name" + entities_entity24_name: !input "entities_entity24_name" + ## page 04 - name + entities_entity25_name: !input "entities_entity25_name" + entities_entity26_name: !input "entities_entity26_name" + entities_entity27_name: !input "entities_entity27_name" + entities_entity28_name: !input "entities_entity28_name" + entities_entity29_name: !input "entities_entity29_name" + entities_entity30_name: !input "entities_entity30_name" + entities_entity31_name: !input "entities_entity31_name" + entities_entity32_name: !input "entities_entity32_name" + ## page 01 - icon + entities_entity01_icon: !input "entities_entity01_icon" + entities_entity02_icon: !input "entities_entity02_icon" + entities_entity03_icon: !input "entities_entity03_icon" + entities_entity04_icon: !input "entities_entity04_icon" + entities_entity05_icon: !input "entities_entity05_icon" + entities_entity06_icon: !input "entities_entity06_icon" + entities_entity07_icon: !input "entities_entity07_icon" + entities_entity08_icon: !input "entities_entity08_icon" + ## page 02 - icon + entities_entity09_icon: !input "entities_entity09_icon" + entities_entity10_icon: !input "entities_entity10_icon" + entities_entity11_icon: !input "entities_entity11_icon" + entities_entity12_icon: !input "entities_entity12_icon" + entities_entity13_icon: !input "entities_entity13_icon" + entities_entity14_icon: !input "entities_entity14_icon" + entities_entity15_icon: !input "entities_entity15_icon" + entities_entity16_icon: !input "entities_entity16_icon" + ## page 03 - icon + entities_entity17_icon: !input "entities_entity17_icon" + entities_entity18_icon: !input "entities_entity18_icon" + entities_entity19_icon: !input "entities_entity19_icon" + entities_entity20_icon: !input "entities_entity20_icon" + entities_entity21_icon: !input "entities_entity21_icon" + entities_entity22_icon: !input "entities_entity22_icon" + entities_entity23_icon: !input "entities_entity23_icon" + entities_entity24_icon: !input "entities_entity24_icon" + ## page 04 - icon + entities_entity25_icon: !input "entities_entity25_icon" + entities_entity26_icon: !input "entities_entity26_icon" + entities_entity27_icon: !input "entities_entity27_icon" + entities_entity28_icon: !input "entities_entity28_icon" + entities_entity29_icon: !input "entities_entity29_icon" + entities_entity30_icon: !input "entities_entity30_icon" + entities_entity31_icon: !input "entities_entity31_icon" + entities_entity32_icon: !input "entities_entity32_icon" + + ###### NEXTION PIC MAPPING ##### + hardware_button_pic_off: "77" + hardware_button_pic_on: "78" + button_off: "101" + button_on: "102" + ###### NEXTION PAGE MAPPING ##### page_home: "home" page_weather01: "weather01" @@ -2671,6 +3497,8 @@ variables: page_entitypage04: "entitypage04" + + ##### MUI Multilingual User Interface (DE/EN) ##### date01_mui: >- {%- if language == "DEU" -%} {{ ((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,') }} @@ -3053,7 +3881,7 @@ variables: {%- elif language == "POL" -%} Proszę o potwierdzenie {%- elif language == "PRT" -%} Favor confirmar {%- elif language == "ROU" -%} Vă rugăm să confirmați - {%- elif language == "SWE" -%} PVänligen bekräfta + {%- elif language == "SWE" -%} Vänligen bekräfta {%- elif language == "SVK" -%} Potvrďte, prosím {%- elif language == "SVN" -%} Prosimo, potrdite {%- elif language == "ESP" -%} Por favor, confirme @@ -3112,262 +3940,7 @@ variables: accuweather_wind_day_4d: "sensor.{{ accuweather_name }}_wind_day_4d" accuweather_wind_night_4d: "sensor.{{ accuweather_name }}_wind_night_4d" - ##### BUTTON Page Labels ##### - button_page01_label: !input button_page01_label - button_page02_label: !input button_page02_label - button_page03_label: !input button_page03_label - button_page04_label: !input button_page04_label - ##### BUTTONS 1- 32 ##### - entity01: !input "entity01" - entity01_name: !input "entity01_name" - entity01_icon: !input "entity01_icon" - entity02: !input "entity02" - entity02_name: !input "entity02_name" - entity02_icon: !input "entity02_icon" - entity03: !input "entity03" - entity03_name: !input "entity03_name" - entity03_icon: !input "entity03_icon" - entity04: !input "entity04" - entity04_name: !input "entity04_name" - entity04_icon: !input "entity04_icon" - entity05: !input "entity05" - entity05_name: !input "entity05_name" - entity05_icon: !input "entity05_icon" - entity06: !input "entity06" - entity06_name: !input "entity06_name" - entity06_icon: !input "entity06_icon" - entity07: !input "entity07" - entity07_name: !input "entity07_name" - entity07_icon: !input "entity07_icon" - entity08: !input "entity08" - entity08_name: !input "entity08_name" - entity08_icon: !input "entity08_icon" - entity09: !input "entity09" - entity09_name: !input "entity09_name" - entity09_icon: !input "entity09_icon" - entity10: !input "entity10" - entity10_name: !input "entity10_name" - entity10_icon: !input "entity10_icon" - entity11: !input "entity11" - entity11_name: !input "entity11_name" - entity11_icon: !input "entity11_icon" - entity12: !input "entity12" - entity12_name: !input "entity12_name" - entity12_icon: !input "entity12_icon" - entity13: !input "entity13" - entity13_name: !input "entity13_name" - entity13_icon: !input "entity13_icon" - entity14: !input "entity14" - entity14_name: !input "entity14_name" - entity14_icon: !input "entity14_icon" - entity15: !input "entity15" - entity15_name: !input "entity15_name" - entity15_icon: !input "entity15_icon" - entity16: !input "entity16" - entity16_name: !input "entity16_name" - entity16_icon: !input "entity16_icon" - entity17: !input "entity17" - entity17_name: !input "entity17_name" - entity17_icon: !input "entity17_icon" - entity18: !input "entity18" - entity18_name: !input "entity18_name" - entity18_icon: !input "entity18_icon" - entity19: !input "entity19" - entity19_name: !input "entity19_name" - entity19_icon: !input "entity19_icon" - entity20: !input "entity20" - entity20_name: !input "entity20_name" - entity20_icon: !input "entity20_icon" - entity21: !input "entity21" - entity21_name: !input "entity21_name" - entity21_icon: !input "entity21_icon" - entity22: !input "entity22" - entity22_name: !input "entity22_name" - entity22_icon: !input "entity22_icon" - entity23: !input "entity23" - entity23_name: !input "entity23_name" - entity23_icon: !input "entity23_icon" - entity24: !input "entity24" - entity24_name: !input "entity24_name" - entity24_icon: !input "entity24_icon" - entity25: !input "entity25" - entity25_name: !input "entity25_name" - entity25_icon: !input "entity25_icon" - entity26: !input "entity26" - entity26_name: !input "entity26_name" - entity26_icon: !input "entity26_icon" - entity27: !input "entity27" - entity27_name: !input "entity27_name" - entity27_icon: !input "entity27_icon" - entity28: !input "entity28" - entity28_name: !input "entity28_name" - entity28_icon: !input "entity28_icon" - entity29: !input "entity29" - entity29_name: !input "entity29_name" - entity29_icon: !input "entity29_icon" - entity30: !input "entity30" - entity30_name: !input "entity30_name" - entity30_icon: !input "entity30_icon" - entity31: !input "entity31" - entity31_name: !input "entity31_name" - entity31_icon: !input "entity31_icon" - entity32: !input "entity32" - entity32_name: !input "entity32_name" - entity32_icon: !input "entity32_icon" - - entity01_confirm: !input "entity01_confirm" - entity02_confirm: !input "entity02_confirm" - entity03_confirm: !input "entity03_confirm" - entity04_confirm: !input "entity04_confirm" - entity05_confirm: !input "entity05_confirm" - entity06_confirm: !input "entity06_confirm" - entity07_confirm: !input "entity07_confirm" - entity08_confirm: !input "entity08_confirm" - entity09_confirm: !input "entity09_confirm" - entity10_confirm: !input "entity10_confirm" - entity11_confirm: !input "entity11_confirm" - entity12_confirm: !input "entity12_confirm" - entity13_confirm: !input "entity13_confirm" - entity14_confirm: !input "entity14_confirm" - entity15_confirm: !input "entity15_confirm" - entity16_confirm: !input "entity16_confirm" - entity17_confirm: !input "entity17_confirm" - entity18_confirm: !input "entity18_confirm" - entity19_confirm: !input "entity19_confirm" - entity20_confirm: !input "entity20_confirm" - entity21_confirm: !input "entity21_confirm" - entity22_confirm: !input "entity22_confirm" - entity23_confirm: !input "entity23_confirm" - entity24_confirm: !input "entity24_confirm" - entity25_confirm: !input "entity25_confirm" - entity26_confirm: !input "entity26_confirm" - entity27_confirm: !input "entity27_confirm" - entity28_confirm: !input "entity28_confirm" - entity29_confirm: !input "entity29_confirm" - entity30_confirm: !input "entity30_confirm" - entity31_confirm: !input "entity31_confirm" - entity32_confirm: !input "entity32_confirm" - - - ##### ENTITIES ##### - entitypages_enabled: !input "entitypages_enabled" - - ##### ENTITY Page Labels ##### - entity_page01_label: !input "entity_page01_label" - entity_page02_label: !input "entity_page02_label" - entity_page03_label: !input "entity_page03_label" - entity_page04_label: !input "entity_page04_label" - - ##### ENTITIES 1- 32 ##### - ## page 01 - entities_entity01: !input "entities_entity01" - entities_entity02: !input "entities_entity02" - entities_entity03: !input "entities_entity03" - entities_entity04: !input "entities_entity04" - entities_entity05: !input "entities_entity05" - entities_entity06: !input "entities_entity06" - entities_entity07: !input "entities_entity07" - entities_entity08: !input "entities_entity08" - ## page 02 - entities_entity09: !input "entities_entity09" - entities_entity10: !input "entities_entity10" - entities_entity11: !input "entities_entity11" - entities_entity12: !input "entities_entity12" - entities_entity13: !input "entities_entity13" - entities_entity14: !input "entities_entity14" - entities_entity15: !input "entities_entity15" - entities_entity16: !input "entities_entity16" - ## page 03 - entities_entity17: !input "entities_entity17" - entities_entity18: !input "entities_entity18" - entities_entity19: !input "entities_entity19" - entities_entity20: !input "entities_entity20" - entities_entity21: !input "entities_entity21" - entities_entity22: !input "entities_entity22" - entities_entity23: !input "entities_entity23" - entities_entity24: !input "entities_entity24" - ## page 04 - entities_entity25: !input "entities_entity25" - entities_entity26: !input "entities_entity26" - entities_entity27: !input "entities_entity27" - entities_entity28: !input "entities_entity28" - entities_entity29: !input "entities_entity29" - entities_entity30: !input "entities_entity30" - entities_entity31: !input "entities_entity31" - entities_entity32: !input "entities_entity32" - ## page 01 - name - entities_entity01_name: !input "entities_entity01_name" - entities_entity02_name: !input "entities_entity02_name" - entities_entity03_name: !input "entities_entity03_name" - entities_entity04_name: !input "entities_entity04_name" - entities_entity05_name: !input "entities_entity05_name" - entities_entity06_name: !input "entities_entity06_name" - entities_entity07_name: !input "entities_entity07_name" - entities_entity08_name: !input "entities_entity08_name" - ## page 02 - name - entities_entity09_name: !input "entities_entity09_name" - entities_entity10_name: !input "entities_entity10_name" - entities_entity11_name: !input "entities_entity11_name" - entities_entity12_name: !input "entities_entity12_name" - entities_entity13_name: !input "entities_entity13_name" - entities_entity14_name: !input "entities_entity14_name" - entities_entity15_name: !input "entities_entity15_name" - entities_entity16_name: !input "entities_entity16_name" - ## page 03 - name - entities_entity17_name: !input "entities_entity17_name" - entities_entity18_name: !input "entities_entity18_name" - entities_entity19_name: !input "entities_entity19_name" - entities_entity20_name: !input "entities_entity20_name" - entities_entity21_name: !input "entities_entity21_name" - entities_entity22_name: !input "entities_entity22_name" - entities_entity23_name: !input "entities_entity23_name" - entities_entity24_name: !input "entities_entity24_name" - ## page 04 - name - entities_entity25_name: !input "entities_entity25_name" - entities_entity26_name: !input "entities_entity26_name" - entities_entity27_name: !input "entities_entity27_name" - entities_entity28_name: !input "entities_entity28_name" - entities_entity29_name: !input "entities_entity29_name" - entities_entity30_name: !input "entities_entity30_name" - entities_entity31_name: !input "entities_entity31_name" - entities_entity32_name: !input "entities_entity32_name" - ## page 01 - icon - entities_entity01_icon: !input "entities_entity01_icon" - entities_entity02_icon: !input "entities_entity02_icon" - entities_entity03_icon: !input "entities_entity03_icon" - entities_entity04_icon: !input "entities_entity04_icon" - entities_entity05_icon: !input "entities_entity05_icon" - entities_entity06_icon: !input "entities_entity06_icon" - entities_entity07_icon: !input "entities_entity07_icon" - entities_entity08_icon: !input "entities_entity08_icon" - ## page 02 - icon - entities_entity09_icon: !input "entities_entity09_icon" - entities_entity10_icon: !input "entities_entity10_icon" - entities_entity11_icon: !input "entities_entity11_icon" - entities_entity12_icon: !input "entities_entity12_icon" - entities_entity13_icon: !input "entities_entity13_icon" - entities_entity14_icon: !input "entities_entity14_icon" - entities_entity15_icon: !input "entities_entity15_icon" - entities_entity16_icon: !input "entities_entity16_icon" - ## page 03 - icon - entities_entity17_icon: !input "entities_entity17_icon" - entities_entity18_icon: !input "entities_entity18_icon" - entities_entity19_icon: !input "entities_entity19_icon" - entities_entity20_icon: !input "entities_entity20_icon" - entities_entity21_icon: !input "entities_entity21_icon" - entities_entity22_icon: !input "entities_entity22_icon" - entities_entity23_icon: !input "entities_entity23_icon" - entities_entity24_icon: !input "entities_entity24_icon" - ## page 04 - icon - entities_entity25_icon: !input "entities_entity25_icon" - entities_entity26_icon: !input "entities_entity26_icon" - entities_entity27_icon: !input "entities_entity27_icon" - entities_entity28_icon: !input "entities_entity28_icon" - entities_entity29_icon: !input "entities_entity29_icon" - entities_entity30_icon: !input "entities_entity30_icon" - entities_entity31_icon: !input "entities_entity31_icon" - entities_entity32_icon: !input "entities_entity32_icon" ############################################################# ##### CLOSE - Variables ##### @@ -3577,13 +4150,6 @@ trigger: 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 - Notification ##### - ##### Notification Text - Trigger "notification_text_state" ##### - platform: event event_type: state_changed @@ -3623,6 +4189,15 @@ trigger: value_template: '{{ states(last_click) is match "homebutton06release" }}' id: open_entity_page + #### Show Climate - Trigger #### + - platform: template + value_template: '{{ states(last_click) is match "weatherpagerelease" }}' + id: open_weather_page + + #### Climate - Trigger #### + - platform: template + value_template: '{{ states(last_click) is match "climaterelease" }}' + id: open_climate_page ##### Trigger - Button General ################################################################################################################# @@ -3857,42 +4432,65 @@ action: {%- if settings_entity_value != "unknown" -%} {{ settings_entity_value.split(',')[0] }} {%- else -%} unknown {%- endif -%} - entity_long_name: >- - {%- if settings_entity_value != "unknown" -%} {{ settings_entity_value.split(',')[2] }} - {%- else -%} unknown - {%- endif -%} entity_back: >- {%- if settings_entity_value != "unknown" -%} {{ settings_entity_value.split(',')[1] }} {%- else -%} unknown {%- endif -%} - + entity_long_name: >- + {%- if settings_entity_value != "unknown" -%} {{ settings_entity_value.split(',')[2] }} + {%- else -%} unknown + {%- endif -%} + entity_long_icon: >- + {%- if settings_entity_value != "unknown" -%} {{ settings_entity_value.split(',')[3] }} + {%- else -%} unknown + {%- endif -%} + entity_long_icon_color: >- + {%- if settings_entity_value != "unknown" -%} {{ settings_entity_value.split(',')[4] }} + {%- else -%} unknown + {%- endif -%} ######################################################################################################################## # main - alias: "choose alias (name)" - choose: - ##### NSPanel boot init ##### + ##### JUMP TO - settings page lightsettings /coversettings / climate (SETTINGS ENTITY CHANGED) ##### - conditions: - condition: trigger - id: - - nspanel_boot_init - - automation_reloaded + id: settings_entity + - condition: template + value_template: "{{ trigger.event.data.new_state.state != 'unknown' }}" + sequence: + - choose: + - conditions: '{{ entity_long is match "light." }}' + sequence: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_lightsettings }}" + - conditions: '{{ entity_long is match "cover." }}' + sequence: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_coversettings }}" + - conditions: '{{ entity_long is match "climate." }}' + sequence: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_climate }}" + + ##### BOOT NSPANEL - boot init ##### + - conditions: + - condition: trigger + id: nspanel_boot_init sequence: - delay: milliseconds: 100 - ##### NSPanel boot init only ##### - - if: - - condition: template - value_template: '{{ trigger.id == "nspanel_boot_init" }}' - then: - ##### NSPanel boot init start ##### - - - service: "{{ command_text_printf }}" - data: - component: boot.bluep_version - message: "{{ blueprint_version }}" + ##### NSPanel boot init only ##### + - service: "{{ command_text_printf }}" + data: + component: boot.bluep_version + message: "{{ blueprint_version }}" ###### Set local fallback ###### - if: @@ -3917,238 +4515,3402 @@ action: - service: switch.turn_off data: entity_id: 'switch.{{ nspanel_name }}_relay_2_local_fallback' - - ##### Update home-buttons on automation-reload only ##### - - if: - - condition: template - value_template: '{{ trigger.id == "automation_reloaded" and states(current_page) == page_home }}' - then: - ###### QR Code - Icon ###### - - if: - - condition: template - value_template: '{{ qrcode_state == true }}' - then: - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.button05_icon - message: "{{ home_button05_icon }}" - else: - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.button05_icon - message: "{{ blank_icon }}" - ###### ENTITIES - Icon ###### - - if: - - condition: template - value_template: '{{ entitypages_enabled }}' - then: - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.button06_icon - message: "{{ home_button06_icon }}" - else: - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.button06_icon - message: "{{ blank_icon }}" - - ##### 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 }}" - - ##### 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 }}" - - ##### NSPanel boot init only ##### - - if: - - condition: template - value_template: '{{ trigger.id == "nspanel_boot_init" and states(current_page) != page_home }}' - then: - ###### INIT Notify ###### - - service: "{{ command_notification_clear }}" - data: {} - - ###### NSPanel beep ###### - - delay: - milliseconds: 2000 - - if: - - condition: template - value_template: '{{ is_state(notification_sound, "on") }}' - then: - - service: "{{ command_play_rtttl }}" - data: - song_str: "two short:d=4,o=5,b=100:16e6,16e6" - - ##### NSPanel boot init finished and jump to Home Page##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_printf }}" - data: - cmd: page home - - #### Notification Symbol #### - - conditions: - - condition: trigger - id: - - notification_text_state - - notification_unread_state - - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unavailable' and trigger.event.data.new_state.state != 'unknown' and states(current_page) == page_home }}" - sequence: - - alias: "Set notifiy pic" - variables: - set_button04_icon: >- - {%- if is_state(notification_unread, 'on') and states(notification_text) |length > 0 -%} {{ home_button04_icon}} - {%- elif is_state(notification_unread, 'off') and states(notification_text) |length > 0 -%} {{ home_button04_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - set_button04_icon_font: >- - {%- if is_state(notification_unread, 'on') and states(notification_text) |length > 0 -%} {{ color_05 }} - {%- elif is_state(notification_unread, 'off') and states(notification_text) |length > 0 -%} {{ color_06 }} - {%- else -%} {{ color_03 }} - {%- endif -%} - ##### SET ICON Font - Notify ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.button04_icon - message: "{{ set_button04_icon }}" - - ##### SET ICON Font Color - Notify ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: home.button04_icon - message: "{{ set_button04_icon_font }}" - - ##### Show last notification ##### - - conditions: - - condition: trigger - id: open_notification_page - - condition: template - value_template: "{{ states(notification_text) |length > 0}} " - sequence: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_notification }}" - - service: "{{ command_text_printf }}" - data: - component: notification.notifi_text01 - message: "{{ states(notification_text) }}" - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: notification.notifi_label - message: "{{ states(notification_label) }}" - - ##### Show QR Code Page ##### - - conditions: - - condition: trigger - id: open_qrcode_page - - condition: template - value_template: '{{ qrcode_state == true }}' - - condition: template - value_template: '{{ qrcode_value |length > 0 }}' - sequence: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_qrcode }}" - - if: - - condition: template - value_template: '{{ qrcode_label |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "qrcode_label" - message: "{{ qrcode_label }}" - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: "qrcode_value" - message: "{{ qrcode_value }}" - - ##### Show ENTITY Page ##### - - conditions: - - condition: trigger - id: open_entity_page - - condition: template - value_template: '{{ entitypages_enabled }}' - sequence: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_entitypage01 }}" - - ##### Button Notification clear ##### - - conditions: - - condition: trigger - id: btn_notificationclearrelease - - condition: template - value_template: "{{ states(confirmation_message) != 'on'}} " - sequence: - - service: switch.turn_off - data: - entity_id: "{{ notification_unread }}" - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_home }}" - - ##### Button Notification accept ##### - - conditions: - - condition: trigger - id: btn_notificationacceptrelease - - condition: template - value_template: "{{ states(confirmation_message) != 'on'}} " - sequence: - - service: switch.turn_off - data: - entity_id: "{{ notification_unread }}" + ##### clear notification icon ##### - service: "{{ command_notification_clear }}" data: {} + + ###### NSPanel beep ###### + - delay: + milliseconds: 2000 + - if: + - condition: template + value_template: '{{ is_state(notification_sound, "on") }}' + then: + - service: "{{ command_play_rtttl }}" + data: + song_str: "two short:d=4,o=5,b=100:16e6,16e6" + + ##### NSPanel boot init finished and jump to Home Page##### + - delay: + milliseconds: "{{ delay_value }}" - service: "{{ command_printf }}" data: - cmd: "page {{ page_home }}" + cmd: page home - #### TFT Upload Automation ##### + ##### BOOT NSPANEL - automation reload ##### - conditions: - condition: trigger - id: tft_upload + id: automation_reloaded sequence: - - delay: - seconds: 2 - - service: "{{ tft_upload }}" - data: {} + - service: button.press + target: + entity_id: "{{ reboot_button }}" - ##### Update Button Page and Lightsettings / Coversettings Page ##### + ##### PAGE CHANGED - changes when page changed ##### + - conditions: + - condition: trigger + id: current_page_changed + sequence: + ##### climate-page left - apply climate temperature if climate_optimistic ##### ## TODO - remove from here + - 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: '{{ entity_long }}' + #hvac_mode: 'heat' + temperature: "{{ display_target_temperature }}" + - choose: + ## PAGE HOME ## + - conditions: '{{ trigger.event.data.new_state.state == page_home }}' + alias: 'home page' + sequence: + - service: '{{ command_set_settings_entity }}' + data: + entity: 'unknown' + ##### NSPanel Date ##### + ### DATE Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.date + message: "{{ date_label_color }}" + ### DATE Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.date + message: "{{ date01_mui }}" + + ##### NSPanel Time ##### + ### TIME Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.time + message: "{{ time_label_color }}" + ### TIME Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.time + message: "{{ time }}" + + ##### NSPanel Outdoor Temp ##### + - variables: + outdoor_temp: >- + {%- if outdoortemp is match "sensor." and states(outdoortemp).state != "unavailable" -%} {{ states(outdoortemp) |round(1) }} + {%- elif state_attr(weather_entity, "temperature") != None -%} {{state_attr(weather_entity,"temperature") | round(1)}} + {%- else -%} 0 + {%- endif -%} + ### LABEL Outdoor Temp Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.outdoor_temp + message: "{{ home_outdoor_temp_label_color }}" + ### LABEL Outdoor Temp Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.outdoor_temp + message: "{{ outdoor_temp }}°" + + ##### NSPanel Indoor Temp ##### + - variables: + indoor_temp: >- + {%- if indoortemp is match "sensor." and states(indoortemp).state != "unavailable" -%} {{ states(indoortemp) |round(1) }} + {%- else -%} {{ states(nspaneltemp) |round(1) }} + {%- endif -%} + ### ICON Indoor Temp Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.indoortempicon + message: "{{ home_indoor_temp_icon_color }}" + ### ICON Indoor Temp Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.indoortempicon + message: "{{ home_indoor_temp_icon }}" + ### LABEL Indoor Temp Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.current_temp + message: "{{ home_indoor_temp_label_color }}" + ### LABEL Indoor Temp Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.current_temp + message: "{{ indoor_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: + ### LABEL Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.left_bt_text + message: "{{ left_button_color }}" + ### LABEL Font ### + - 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 Right Button Name ##### + - if: + - condition: template + value_template: '{{ right_button_name |length > 0 }}' + then: + ### LABEL Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.right_bt_text + message: "{{ right_button_color }}" + ### LABEL Font ### + - 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: + chip_climate: >- + {%- if states(climate) == "heat" and state_attr(climate, "hvac_action") != None and state_attr(climate, "hvac_action") == "heating" -%} {{ heat_icon }} + {%- elif states(climate) == "heat" -%} {{ thermostat_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Thermostat Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_03 + message: "{{ thermostat_icon_color }}" + ### ICON Thermostat Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_03 + message: "{{ chip_climate }}" + + ##### StatusBar - Relay Symbols ###### + - variables: + chip_relay01: >- + {%- if states(relay01_entity) == 'on' -%} {{ relay01_icon }} + {%- else -%} {{ blank_icon}} + {%- endif -%} + chip_relay02: >- + {%- if states(relay02_entity) == 'on' -%} {{ relay02_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Relay01 Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_01 + message: "{{ relay01_icon_color }}" + ### ICON Relay01 Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_01 + message: "{{ chip_relay01 }}" + + ### ICON Relay02 Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_02 + message: "{{ relay02_icon_color }}" + ### ICON Relay02 Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_02 + message: "{{ chip_relay02 }}" + + ###### CHIPS 01 - 07 - Statusbar 04 - 10 ###### + - delay: + milliseconds: "{{ delay_value }}" + - repeat: + for_each: + - position: home.icon_top_04 + entity: "{{ chip01 }}" + entity_icon: "{{ chip01_icon }}" + entity_icon_color: "{{ chip01_icon_color }}" + - position: home.icon_top_05 + entity: "{{ chip02 }}" + entity_icon: "{{ chip02_icon }}" + entity_icon_color: "{{ chip02_icon_color }}" + - position: home.icon_top_06 + entity: "{{ chip03 }}" + entity_icon: "{{ chip03_icon }}" + entity_icon_color: "{{ chip03_icon_color }}" + - position: home.icon_top_07 + entity: "{{ chip04 }}" + entity_icon: "{{ chip04_icon }}" + entity_icon_color: "{{ chip04_icon_color }}" + - position: home.icon_top_08 + entity: "{{ chip05 }}" + entity_icon: "{{ chip05_icon }}" + entity_icon_color: "{{ chip05_icon_color }}" + - position: home.icon_top_09 + entity: "{{ chip06 }}" + entity_icon: "{{ chip06_icon }}" + entity_icon_color: "{{ chip06_icon_color }}" + - position: home.icon_top_10 + entity: "{{ chip07 }}" + entity_icon: "{{ chip07_icon }}" + entity_icon_color: "{{ chip07_icon_color }}" + sequence: + - if: + - condition: template + value_template: '{{ repeat.item.entity |length > 0 }}' + then: + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.position }}" + message: "{{ repeat.item.entity_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.position }}" + message: >- + {%- if states(repeat.item.entity) == 'on' -%} {{ repeat.item.entity_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + + ##### HOME VALUE 01 - 03 + - delay: + milliseconds: "{{ delay_value }}" + - repeat: + for_each: + - row: home.value01 + entity: "{{ home_value01 }}" + entity_icon: "{{ home_value01_icon }}" + entity_icon_color: "{{ home_value01_icon_color }}" + entity_label_color: "{{ home_value01_label_color }}" + - row: home.value02 + entity: "{{ home_value02 }}" + entity_icon: "{{ home_value02_icon }}" + entity_icon_color: "{{ home_value02_icon_color }}" + entity_label_color: "{{ home_value02_label_color }}" + - row: home.value03 + entity: "{{ home_value03 }}" + entity_icon: "{{ home_value03_icon }}" + entity_icon_color: "{{ home_value03_icon_color }}" + entity_label_color: "{{ home_value03_label_color }}" + sequence: + - if: + - condition: template + value_template: '{{ repeat.item.entity is match "sensor." and states(repeat.item.entity).state != "unavailable" }}' + then: + - if: + - condition: template + value_template: '{{ repeat.item.entity_icon |length > 0 }}' + then: + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.row }}_icon" + message: "{{ repeat.item.entity_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}_icon" + message: "{{ repeat.item.entity_icon }}" + ### LABEL Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.row }}_state" + message: "{{ repeat.item.entity_label_color }}" + ### LABEL Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}_state" + message: '{{ states(repeat.item.entity) |round(1) }}{{ state_attr(repeat.item.entity, "unit_of_measurement") }}' + + ##### Set notify icon ##### + - variables: + set_button04_icon: >- + {%- if is_state(notification_unread, 'on') and states(notification_text) |length > 0 -%} {{ home_button04_icon}} + {%- elif is_state(notification_unread, 'off') and states(notification_text) |length > 0 -%} {{ home_button04_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + set_button04_icon_font: >- + {%- if is_state(notification_unread, 'on') and states(notification_text) |length > 0 -%} {{ home_button04_icon_color01 }} + {%- elif is_state(notification_unread, 'off') and states(notification_text) |length > 0 -%} {{ home_button04_icon_color02 }} + {%- else -%} {{ color_03 }} + {%- endif -%} + ##### SET ICON Font - Notify ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.button04_icon + message: "{{ set_button04_icon }}" + + ##### SET ICON Font Color - Notify ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.button04_icon + message: "{{ set_button04_icon_font }}" + + ###### QR Code - Icon ###### + - if: + - condition: template + value_template: '{{ qrcode_enabled == true }}' + then: + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.button05_icon + message: "{{ home_button05_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + + - service: "{{ command_text_printf }}" + data: + component: home.button05_icon + message: "{{ home_button05_icon }}" + + ###### ENTITIES - Icon ###### + - if: + - condition: template + value_template: '{{ entitypages_enabled }}' + then: + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.button06_icon + message: "{{ home_button06_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + + - service: "{{ command_text_printf }}" + data: + component: home.button06_icon + message: "{{ home_button06_icon }}" + + ## PAGE BUTTONPAGE01 ## + - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage01 }}' + alias: 'buttonpage01 page' + sequence: + - service: '{{ command_set_settings_entity }}' + data: + entity: 'unknown' + ##### Button Page Label ##### + - if: + - condition: template + value_template: '{{ button_page01_label |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "bpage01_label" + message: "{{ button_page01_label }}" + + ##### NSPanel build buttons Buttonpage01 ##### + - delay: + milliseconds: "{{ delay_value }}" + - repeat: + for_each: + - entity: "{{ entity01 }}" + button_icon: "{{ entity01_icon }}" + button_label: "{{ entity01_name }}" + button_icon_color: "{{ entity01_icon_color }}" + button: buttonpage01.button01 + - entity: "{{ entity02 }}" + button_icon: "{{ entity02_icon }}" + button_label: "{{ entity02_name }}" + button_icon_color: "{{ entity02_icon_color }}" + button: buttonpage01.button02 + - entity: "{{ entity03 }}" + button_icon: "{{ entity03_icon }}" + button_label: "{{ entity03_name }}" + button_icon_color: "{{ entity03_icon_color }}" + button: buttonpage01.button03 + - entity: "{{ entity04 }}" + button_icon: "{{ entity04_icon }}" + button_label: "{{ entity04_name }}" + button_icon_color: "{{ entity04_icon_color }}" + button: buttonpage01.button04 + - entity: "{{ entity05 }}" + button_icon: "{{ entity05_icon }}" + button_label: "{{ entity05_name }}" + button_icon_color: "{{ entity05_icon_color }}" + button: buttonpage01.button05 + - entity: "{{ entity06 }}" + button_icon: "{{ entity06_icon }}" + button_label: "{{ entity06_name }}" + button_icon_color: "{{ entity06_icon_color }}" + button: buttonpage01.button06 + - entity: "{{ entity07 }}" + button_icon: "{{ entity07_icon }}" + button_label: "{{ entity07_name }}" + button_icon_color: "{{ entity07_icon_color }}" + button: buttonpage01.button07 + - entity: "{{ entity08 }}" + button_icon: "{{ entity08_icon }}" + button_label: "{{ entity08_name }}" + button_icon_color: "{{ entity08_icon_color }}" + button: buttonpage01.button08 + sequence: + - if: + - condition: template + value_template: '{{ repeat.item.entity|length > 0 }}' + then: + - variables: + ### component_to_update: "{{ repeat.item.button }}" + current_entity_state: "{{ states[repeat.item.entity].state }}" + # Button PIC GRAY/WHITE + btn_pic: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_off }} + {%- elif repeat.item.entity is match "light." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "light." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "switch." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "switch." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "cover." and current_entity_state == 'open' -%} {{ button_on }} + {%- elif repeat.item.entity is match "cover." and current_entity_state == 'closed' -%} {{ button_off }} + {%- elif repeat.item.entity is match "automation." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "automation." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "button." -%} {{ button_off }} + {%- elif repeat.item.entity is match "input_button." -%} {{ button_off }} + {%- elif repeat.item.entity is match "scene." -%} {{ button_off }} + {%- elif repeat.item.entity is match "script." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "script." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ button_on }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ button_off }} + {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "fan." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "fan." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ button_on }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ button_off }} + {%- endif -%} + # TEXT, BRIGHTNESS and ICON Background + btn_bg: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_02 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_01 }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_02 }} + {%- endif -%} + # ICON Font Color + btn_icon_font: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_05 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_03 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ repeat.item.button_icon_color }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_03 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ repeat.item.button_icon_color }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_03 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ repeat.item.button_icon_color }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_03 }} + {%- endif -%} + # LABEL Font Color + btn_txt_font: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_01 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_02 }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_01 }} + {%- endif -%} + # BRIGHTNESS Font Color + btn_bri_font: "{{ color_02 }}" + # ICON Value + btn_icon: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_icon_unknown }} + {%- elif repeat.item.button_icon |length > 0 -%} {{ repeat.item.button_icon }} + {%- elif repeat.item.entity is match "light." -%} {{ button_icon_light }} + {%- elif repeat.item.entity is match "switch." -%} {{ button_icon_switch }} + {%- elif repeat.item.entity is match "input_boolean." -%} {{ button_icon_input_boolan }} + {%- elif repeat.item.entity is match "cover." -%} {{ button_icon_cover }} + {%- elif repeat.item.entity is match "automation." -%} {{ button_icon_automation }} + {%- elif repeat.item.entity is match "button." -%} {{ button_icon_button }} + {%- elif repeat.item.entity is match "input_button." -%} {{ button_icon_input_button }} + {%- elif repeat.item.entity is match "scene." -%} {{ button_icon_screne }} + {%- elif repeat.item.entity is match "script." -%} {{ button_icon_script }} + {%- elif repeat.item.entity is match "person." -%} {{ button_icon_person }} + {%- elif repeat.item.entity is match "binary_sensor." -%} {{ button_icon_binary_sensor }} + {%- elif repeat.item.entity is match "fan." -%} {{ button_icon_fan }} + {%- elif repeat.item.entity is match "climate." -%} {{ button_icon_climate }} + {%- endif -%} + # LABEL Value + btn_label: "{{ repeat.item.button_label }}" + # BRIGHTNESS Value + btn_bri_txt: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} 0 + {%- elif repeat.item.entity is match "light." and current_entity_state == '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 current_entity_state == 'open' and state_attr(repeat.item.entity, "current_position") != None -%} {{ (state_attr(repeat.item.entity, "current_position") | int(100)) | round(0) }}% + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' and state_attr(repeat.item.entity, "current_temperature") != None -%} {{ (state_attr(repeat.item.entity, "current_temperature") | int) | round(0) }}° + {%- else -%} 0 + {%- endif -%} + + ##### SET Buttons Background #### + # + ##### SET Button PIC ##### + - service: "{{ command_printf }}" + data: + cmd: "{{ repeat.item.button }}pic.pic={{ btn_pic }}" + ##### SET ICON Background ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_bg }}" + ##### SET LABEL Background ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_bg }}" + ##### SET BRIGHTNESS Background Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bg }}" + + ##### SET Buttons Font Color #### + # + ##### SET ICON Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_icon_font }}" + ##### SET LABEL Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_txt_font }}" + ##### SET BRIGHTNESS Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bri_font }}" + + ##### SET Buttons Text Value #### + # + ##### "ICON" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_icon }}" + ##### "LABEL" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_label }}" + + ##### "BRIGHTNESS" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - if: + - condition: template + value_template: "{{ btn_bri_txt == 0 }}" + then: + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}bri" + message: " " + else: + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bri_txt }}" + ###### SHOW All component when page loading done ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_show_all }}" + + ## PAGE BUTTONPAGE02 ## + - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage02 }}' + alias: 'buttonpage02 page' + sequence: + - service: '{{ command_set_settings_entity }}' + data: + entity: 'unknown' + ##### Button Page Label ##### + - if: + - condition: template + value_template: '{{ button_page02_label |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "bpage02_label" + message: "{{ button_page02_label }}" + + ##### NSPanel build buttons Buttonpage01 ##### + - delay: + milliseconds: "{{ delay_value }}" + - repeat: + for_each: + - entity: "{{ entity09 }}" + button_icon: "{{ entity09_icon }}" + button_label: "{{ entity09_name }}" + button_icon_color: "{{ entity09_icon_color }}" + button: buttonpage02.button01 + - entity: "{{ entity10 }}" + button_icon: "{{ entity10_icon }}" + button_label: "{{ entity10_name }}" + button_icon_color: "{{ entity10_icon_color }}" + button: buttonpage02.button02 + - entity: "{{ entity11 }}" + button_icon: "{{ entity11_icon }}" + button_label: "{{ entity11_name }}" + button_icon_color: "{{ entity11_icon_color }}" + button: buttonpage02.button03 + - entity: "{{ entity12 }}" + button_icon: "{{ entity12_icon }}" + button_label: "{{ entity12_name }}" + button_icon_color: "{{ entity12_icon_color }}" + button: buttonpage02.button04 + - entity: "{{ entity13 }}" + button_icon: "{{ entity13_icon }}" + button_label: "{{ entity13_name }}" + button_icon_color: "{{ entity13_icon_color }}" + button: buttonpage02.button05 + - entity: "{{ entity14 }}" + button_icon: "{{ entity14_icon }}" + button_label: "{{ entity14_name }}" + button_icon_color: "{{ entity14_icon_color }}" + button: buttonpage02.button06 + - entity: "{{ entity15 }}" + button_icon: "{{ entity15_icon }}" + button_label: "{{ entity15_name }}" + button_icon_color: "{{ entity15_icon_color }}" + button: buttonpage02.button07 + - entity: "{{ entity16 }}" + button_icon: "{{ entity16_icon }}" + button_label: "{{ entity16_name }}" + button_icon_color: "{{ entity16_icon_color }}" + button: buttonpage02.button08 + sequence: + - if: + - condition: template + value_template: '{{ repeat.item.entity|length > 0 }}' + then: + - variables: + ### component_to_update: "{{ repeat.item.button }}" + current_entity_state: "{{ states[repeat.item.entity].state }}" + # Button PIC GRAY/WHITE + btn_pic: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_off }} + {%- elif repeat.item.entity is match "light." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "light." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "switch." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "switch." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "cover." and current_entity_state == 'open' -%} {{ button_on }} + {%- elif repeat.item.entity is match "cover." and current_entity_state == 'closed' -%} {{ button_off }} + {%- elif repeat.item.entity is match "automation." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "automation." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "button." -%} {{ button_off }} + {%- elif repeat.item.entity is match "input_button." -%} {{ button_off }} + {%- elif repeat.item.entity is match "scene." -%} {{ button_off }} + {%- elif repeat.item.entity is match "script." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "script." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ button_on }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ button_off }} + {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "fan." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "fan." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ button_on }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ button_off }} + {%- endif -%} + # TEXT, BRIGHTNESS and ICON Background + btn_bg: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_02 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_01 }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_02 }} + {%- endif -%} + # ICON Font Color + btn_icon_font: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_05 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_03 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ repeat.item.button_icon_color }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_03 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ repeat.item.button_icon_color }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_03 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ repeat.item.button_icon_color }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_03 }} + {%- endif -%} + # LABEL Font Color + btn_txt_font: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_01 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_02 }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_01 }} + {%- endif -%} + # BRIGHTNESS Font Color + btn_bri_font: "{{ color_02 }}" + # ICON Value + btn_icon: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_icon_unknown }} + {%- elif repeat.item.button_icon |length > 0 -%} {{ repeat.item.button_icon }} + {%- elif repeat.item.entity is match "light." -%} {{ button_icon_light }} + {%- elif repeat.item.entity is match "switch." -%} {{ button_icon_switch }} + {%- elif repeat.item.entity is match "input_boolean." -%} {{ button_icon_input_boolan }} + {%- elif repeat.item.entity is match "cover." -%} {{ button_icon_cover }} + {%- elif repeat.item.entity is match "automation." -%} {{ button_icon_automation }} + {%- elif repeat.item.entity is match "button." -%} {{ button_icon_button }} + {%- elif repeat.item.entity is match "input_button." -%} {{ button_icon_input_button }} + {%- elif repeat.item.entity is match "scene." -%} {{ button_icon_screne }} + {%- elif repeat.item.entity is match "script." -%} {{ button_icon_script }} + {%- elif repeat.item.entity is match "person." -%} {{ button_icon_person }} + {%- elif repeat.item.entity is match "binary_sensor." -%} {{ button_icon_binary_sensor }} + {%- elif repeat.item.entity is match "fan." -%} {{ button_icon_fan }} + {%- elif repeat.item.entity is match "climate." -%} {{ button_icon_climate }} + {%- endif -%} + # LABEL Value + btn_label: "{{ repeat.item.button_label }}" + # BRIGHTNESS Value + btn_bri_txt: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} 0 + {%- elif repeat.item.entity is match "light." and current_entity_state == '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 current_entity_state == 'open' and state_attr(repeat.item.entity, "current_position") != None -%} {{ (state_attr(repeat.item.entity, "current_position") | int(100)) | round(0) }}% + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' and state_attr(repeat.item.entity, "current_temperature") != None -%} {{ (state_attr(repeat.item.entity, "current_temperature") | int) | round(0) }}° + {%- else -%} 0 + {%- endif -%} + + ##### SET Buttons Background #### + # + ##### SET Button PIC ##### + - service: "{{ command_printf }}" + data: + cmd: "{{ repeat.item.button }}pic.pic={{ btn_pic }}" + ##### SET ICON Background ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_bg }}" + ##### SET LABEL Background ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_bg }}" + ##### SET BRIGHTNESS Background Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bg }}" + + ##### SET Buttons Font Color #### + # + ##### SET ICON Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_icon_font }}" + ##### SET LABEL Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_txt_font }}" + ##### SET BRIGHTNESS Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bri_font }}" + + ##### SET Buttons Text Value #### + # + ##### "ICON" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_icon }}" + ##### "LABEL" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_label }}" + + ##### "BRIGHTNESS" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - if: + - condition: template + value_template: "{{ btn_bri_txt == 0 }}" + then: + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}bri" + message: " " + else: + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bri_txt }}" + ###### SHOW All component when page loading done ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_show_all }}" + + ## PAGE BUTTONPAGE03 ## + - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage03 }}' + alias: 'buttonpage03 page' + sequence: + - service: '{{ command_set_settings_entity }}' + data: + entity: 'unknown' + ##### Button Page Label ##### + - if: + - condition: template + value_template: '{{ button_page03_label |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "bpage03_label" + message: "{{ button_page03_label }}" + + ##### NSPanel build buttons Buttonpage01 ##### + - delay: + milliseconds: "{{ delay_value }}" + - repeat: + for_each: + - entity: "{{ entity17 }}" + button_icon: "{{ entity17_icon }}" + button_label: "{{ entity17_name }}" + button_icon_color: "{{ entity17_icon_color }}" + button: buttonpage03.button01 + - entity: "{{ entity18 }}" + button_icon: "{{ entity18_icon }}" + button_label: "{{ entity18_name }}" + button_icon_color: "{{ entity18_icon_color }}" + button: buttonpage03.button02 + - entity: "{{ entity19 }}" + button_icon: "{{ entity19_icon }}" + button_label: "{{ entity19_name }}" + button_icon_color: "{{ entity19_icon_color }}" + button: buttonpage03.button03 + - entity: "{{ entity20 }}" + button_icon: "{{ entity20_icon }}" + button_label: "{{ entity20_name }}" + button_icon_color: "{{ entity20_icon_color }}" + button: buttonpage03.button04 + - entity: "{{ entity21 }}" + button_icon: "{{ entity21_icon }}" + button_label: "{{ entity21_name }}" + button_icon_color: "{{ entity21_icon_color }}" + button: buttonpage03.button05 + - entity: "{{ entity22 }}" + button_icon: "{{ entity22_icon }}" + button_label: "{{ entity22_name }}" + button_icon_color: "{{ entity22_icon_color }}" + button: buttonpage03.button06 + - entity: "{{ entity23 }}" + button_icon: "{{ entity23_icon }}" + button_label: "{{ entity23_name }}" + button_icon_color: "{{ entity23_icon_color }}" + button: buttonpage03.button07 + - entity: "{{ entity24 }}" + button_icon: "{{ entity24_icon }}" + button_label: "{{ entity24_name }}" + button_icon_color: "{{ entity24_icon_color }}" + button: buttonpage03.button08 + sequence: + - if: + - condition: template + value_template: '{{ repeat.item.entity|length > 0 }}' + then: + - variables: + ### component_to_update: "{{ repeat.item.button }}" + current_entity_state: "{{ states[repeat.item.entity].state }}" + # Button PIC GRAY/WHITE + btn_pic: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_off }} + {%- elif repeat.item.entity is match "light." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "light." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "switch." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "switch." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "cover." and current_entity_state == 'open' -%} {{ button_on }} + {%- elif repeat.item.entity is match "cover." and current_entity_state == 'closed' -%} {{ button_off }} + {%- elif repeat.item.entity is match "automation." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "automation." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "button." -%} {{ button_off }} + {%- elif repeat.item.entity is match "input_button." -%} {{ button_off }} + {%- elif repeat.item.entity is match "scene." -%} {{ button_off }} + {%- elif repeat.item.entity is match "script." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "script." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ button_on }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ button_off }} + {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "fan." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "fan." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ button_on }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ button_off }} + {%- endif -%} + # TEXT, BRIGHTNESS and ICON Background + btn_bg: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_02 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_01 }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_02 }} + {%- endif -%} + # ICON Font Color + btn_icon_font: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_05 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_03 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ repeat.item.button_icon_color }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_03 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ repeat.item.button_icon_color }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_03 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ repeat.item.button_icon_color }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_03 }} + {%- endif -%} + # LABEL Font Color + btn_txt_font: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_01 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_02 }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_01 }} + {%- endif -%} + # BRIGHTNESS Font Color + btn_bri_font: "{{ color_02 }}" + # ICON Value + btn_icon: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_icon_unknown }} + {%- elif repeat.item.button_icon |length > 0 -%} {{ repeat.item.button_icon }} + {%- elif repeat.item.entity is match "light." -%} {{ button_icon_light }} + {%- elif repeat.item.entity is match "switch." -%} {{ button_icon_switch }} + {%- elif repeat.item.entity is match "input_boolean." -%} {{ button_icon_input_boolan }} + {%- elif repeat.item.entity is match "cover." -%} {{ button_icon_cover }} + {%- elif repeat.item.entity is match "automation." -%} {{ button_icon_automation }} + {%- elif repeat.item.entity is match "button." -%} {{ button_icon_button }} + {%- elif repeat.item.entity is match "input_button." -%} {{ button_icon_input_button }} + {%- elif repeat.item.entity is match "scene." -%} {{ button_icon_screne }} + {%- elif repeat.item.entity is match "script." -%} {{ button_icon_script }} + {%- elif repeat.item.entity is match "person." -%} {{ button_icon_person }} + {%- elif repeat.item.entity is match "binary_sensor." -%} {{ button_icon_binary_sensor }} + {%- elif repeat.item.entity is match "fan." -%} {{ button_icon_fan }} + {%- elif repeat.item.entity is match "climate." -%} {{ button_icon_climate }} + {%- endif -%} + # LABEL Value + btn_label: "{{ repeat.item.button_label }}" + # BRIGHTNESS Value + btn_bri_txt: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} 0 + {%- elif repeat.item.entity is match "light." and current_entity_state == '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 current_entity_state == 'open' and state_attr(repeat.item.entity, "current_position") != None -%} {{ (state_attr(repeat.item.entity, "current_position") | int(100)) | round(0) }}% + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' and state_attr(repeat.item.entity, "current_temperature") != None -%} {{ (state_attr(repeat.item.entity, "current_temperature") | int) | round(0) }}° + {%- else -%} 0 + {%- endif -%} + + ##### SET Buttons Background #### + # + ##### SET Button PIC ##### + - service: "{{ command_printf }}" + data: + cmd: "{{ repeat.item.button }}pic.pic={{ btn_pic }}" + ##### SET ICON Background ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_bg }}" + ##### SET LABEL Background ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_bg }}" + ##### SET BRIGHTNESS Background Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bg }}" + + ##### SET Buttons Font Color #### + # + ##### SET ICON Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_icon_font }}" + ##### SET LABEL Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_txt_font }}" + ##### SET BRIGHTNESS Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bri_font }}" + + ##### SET Buttons Text Value #### + # + ##### "ICON" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_icon }}" + ##### "LABEL" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_label }}" + + ##### "BRIGHTNESS" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - if: + - condition: template + value_template: "{{ btn_bri_txt == 0 }}" + then: + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}bri" + message: " " + else: + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bri_txt }}" + ###### SHOW All component when page loading done ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_show_all }}" + + ## PAGE BUTTONPAGE04 ## + - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage04 }}' + alias: 'buttonpage04 page' + sequence: + - service: '{{ command_set_settings_entity }}' + data: + entity: 'unknown' + ##### Button Page Label ##### + - if: + - condition: template + value_template: '{{ button_page04_label |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "bpage04_label" + message: "{{ button_page04_label }}" + + ##### NSPanel build buttons Buttonpage01 ##### + - delay: + milliseconds: "{{ delay_value }}" + - repeat: + for_each: + - entity: "{{ entity25 }}" + button_icon: "{{ entity25_icon }}" + button_label: "{{ entity25_name }}" + button_icon_color: "{{ entity25_icon_color }}" + button: buttonpage04.button01 + - entity: "{{ entity26 }}" + button_icon: "{{ entity26_icon }}" + button_label: "{{ entity26_name }}" + button_icon_color: "{{ entity26_icon_color }}" + button: buttonpage04.button02 + - entity: "{{ entity27 }}" + button_icon: "{{ entity27_icon }}" + button_label: "{{ entity27_name }}" + button_icon_color: "{{ entity27_icon_color }}" + button: buttonpage04.button03 + - entity: "{{ entity28 }}" + button_icon: "{{ entity28_icon }}" + button_label: "{{ entity28_name }}" + button_icon_color: "{{ entity28_icon_color }}" + button: buttonpage04.button04 + - entity: "{{ entity29 }}" + button_icon: "{{ entity29_icon }}" + button_label: "{{ entity29_name }}" + button_icon_color: "{{ entity29_icon_color }}" + button: buttonpage04.button05 + - entity: "{{ entity30 }}" + button_icon: "{{ entity30_icon }}" + button_label: "{{ entity30_name }}" + button_icon_color: "{{ entity30_icon_color }}" + button: buttonpage04.button06 + - entity: "{{ entity31 }}" + button_icon: "{{ entity31_icon }}" + button_label: "{{ entity31_name }}" + button_icon_color: "{{ entity31_icon_color }}" + button: buttonpage04.button07 + - entity: "{{ entity32 }}" + button_icon: "{{ entity32_icon }}" + button_label: "{{ entity32_name }}" + button_icon_color: "{{ entity32_icon_color }}" + button: buttonpage04.button08 + sequence: + - if: + - condition: template + value_template: '{{ repeat.item.entity|length > 0 }}' + then: + - variables: + ### component_to_update: "{{ repeat.item.button }}" + current_entity_state: "{{ states[repeat.item.entity].state }}" + # Button PIC GRAY/WHITE + btn_pic: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_off }} + {%- elif repeat.item.entity is match "light." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "light." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "switch." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "switch." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "cover." and current_entity_state == 'open' -%} {{ button_on }} + {%- elif repeat.item.entity is match "cover." and current_entity_state == 'closed' -%} {{ button_off }} + {%- elif repeat.item.entity is match "automation." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "automation." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "button." -%} {{ button_off }} + {%- elif repeat.item.entity is match "input_button." -%} {{ button_off }} + {%- elif repeat.item.entity is match "scene." -%} {{ button_off }} + {%- elif repeat.item.entity is match "script." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "script." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ button_on }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ button_off }} + {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "fan." and current_entity_state == 'on' -%} {{ button_on }} + {%- elif repeat.item.entity is match "fan." and current_entity_state == 'off' -%} {{ button_off }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ button_on }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ button_off }} + {%- endif -%} + # TEXT, BRIGHTNESS and ICON Background + btn_bg: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_02 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_01 }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_02 }} + {%- endif -%} + # ICON Font Color + btn_icon_font: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_05 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_03 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ repeat.item.button_icon_color }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_03 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ repeat.item.button_icon_color }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_03 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ repeat.item.button_icon_color }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_03 }} + {%- endif -%} + # LABEL Font Color + btn_txt_font: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_01 }} + {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_02 }} + {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_01 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_02 }} + {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_01 }} + {%- endif -%} + # BRIGHTNESS Font Color + btn_bri_font: "{{ color_02 }}" + # ICON Value + btn_icon: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_icon_unknown }} + {%- elif repeat.item.button_icon |length > 0 -%} {{ repeat.item.button_icon }} + {%- elif repeat.item.entity is match "light." -%} {{ button_icon_light }} + {%- elif repeat.item.entity is match "switch." -%} {{ button_icon_switch }} + {%- elif repeat.item.entity is match "input_boolean." -%} {{ button_icon_input_boolan }} + {%- elif repeat.item.entity is match "cover." -%} {{ button_icon_cover }} + {%- elif repeat.item.entity is match "automation." -%} {{ button_icon_automation }} + {%- elif repeat.item.entity is match "button." -%} {{ button_icon_button }} + {%- elif repeat.item.entity is match "input_button." -%} {{ button_icon_input_button }} + {%- elif repeat.item.entity is match "scene." -%} {{ button_icon_screne }} + {%- elif repeat.item.entity is match "script." -%} {{ button_icon_script }} + {%- elif repeat.item.entity is match "person." -%} {{ button_icon_person }} + {%- elif repeat.item.entity is match "binary_sensor." -%} {{ button_icon_binary_sensor }} + {%- elif repeat.item.entity is match "fan." -%} {{ button_icon_fan }} + {%- elif repeat.item.entity is match "climate." -%} {{ button_icon_climate }} + {%- endif -%} + # LABEL Value + btn_label: "{{ repeat.item.button_label }}" + # BRIGHTNESS Value + btn_bri_txt: >- + {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} 0 + {%- elif repeat.item.entity is match "light." and current_entity_state == '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 current_entity_state == 'open' and state_attr(repeat.item.entity, "current_position") != None -%} {{ (state_attr(repeat.item.entity, "current_position") | int(100)) | round(0) }}% + {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' and state_attr(repeat.item.entity, "current_temperature") != None -%} {{ (state_attr(repeat.item.entity, "current_temperature") | int) | round(0) }}° + {%- else -%} 0 + {%- endif -%} + + ##### SET Buttons Background #### + # + ##### SET Button PIC ##### + - service: "{{ command_printf }}" + data: + cmd: "{{ repeat.item.button }}pic.pic={{ btn_pic }}" + ##### SET ICON Background ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_bg }}" + ##### SET LABEL Background ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_bg }}" + ##### SET BRIGHTNESS Background Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bg }}" + + ##### SET Buttons Font Color #### + # + ##### SET ICON Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_icon_font }}" + ##### SET LABEL Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_txt_font }}" + ##### SET BRIGHTNESS Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bri_font }}" + + ##### SET Buttons Text Value #### + # + ##### "ICON" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}icon" + message: "{{ btn_icon }}" + ##### "LABEL" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}text" + message: "{{ btn_label }}" + + ##### "BRIGHTNESS" Value ##### + - delay: + milliseconds: "{{ delay_value }}" + - if: + - condition: template + value_template: "{{ btn_bri_txt == 0 }}" + then: + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}bri" + message: " " + else: + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.button }}bri" + message: "{{ btn_bri_txt }}" + ###### SHOW All component when page loading done ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_show_all }}" + + ## PAGE LIGHTSETTUNGS ## + - conditions: '{{ trigger.event.data.new_state.state == page_lightsettings }}' + alias: 'lightsettings page' + sequence: + - service: "{{ command_text_printf }}" + data: + component: lightsettings.light_name + message: '{{ entity_long_name }}' + ##### LIGHT ICON - ON / OFF ##### + - variables: + lightsettings_icon_font: >- + {%- if entity_long_icon |length > 0 -%} {{ entity_long_icon }} + {%- else -%} {{ button_icon_light }} + {%- endif -%} + lightsettings_icon_font_color: >- + {%- if states(entity_long) == 'on' -%} {{ entity_long_icon_color }} + {%- else -%} {{ color_03 }} + {%- endif -%} + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: lightsettings.icon_state + message: "{{ lightsettings_icon_font }}" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: lightsettings.icon_state + message: "{{ lightsettings_icon_font_color }}" + ##### LIGHT State ##### + - choose: + - 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) }}' + + ## PAGE COVERSETTINGS ## + - conditions: '{{ trigger.event.data.new_state.state == page_coversettings }}' + alias: 'coversettings page' + sequence: + ##### COVER - OPEN / CLOSE ##### + - variables: + coversettings_icon_font: >- + {%- if entity_long_icon |length > 0 -%} {{ entity_long_icon }} + {%- else -%} {{ button_icon_cover }} + {%- endif -%} + coversettings_icon_font_color: >- + {%- if states(entity_long) == 'open' -%} {{ entity_long_icon_color }} + {%- else -%} {{ color_03 }} + {%- endif -%} + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: coversettings.icon_state + message: "{{ coversettings_icon_font }}" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: coversettings.icon_state + message: "{{ coversettings_icon_font_color }}" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: coversettings.cover_name + message: '{{ entity_long_name }}' + + ##### COVER State + - 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) }} %' + + ##### 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) }} %' + ### ICON Battery Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: coversettings.battery_icon + message: "{{ battery_icon_color }}" + ### ICON Battery Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: coversettings.battery_icon + message: "{{ battery_icon }}" + + ## ENTITY PAGE 01 ## + - conditions: '{{ trigger.event.data.new_state.state == page_entitypage01 }}' + alias: 'entity01 page' + sequence: + ##### ENTITY Page Label ##### + - if: + - condition: template + value_template: '{{ entity_page01_label |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "entity01_label" + message: "{{ entity_page01_label }}" + ##### Entities ##### + - delay: + milliseconds: "{{ delay_value }}" + - repeat: + for_each: + - row: entitypage01.value01 + entity: "{{ entities_entity01 }}" + entity_name: "{{ entities_entity01_name }}" + entity_icon: "{{ entities_entity01_icon }}" + - row: entitypage01.value02 + entity: "{{ entities_entity02 }}" + entity_name: "{{ entities_entity02_name }}" + entity_icon: "{{ entities_entity02_icon }}" + - row: entitypage01.value03 + entity: "{{ entities_entity03 }}" + entity_name: "{{ entities_entity03_name }}" + entity_icon: "{{ entities_entity03_icon }}" + - row: entitypage01.value04 + entity: "{{ entities_entity04 }}" + entity_name: "{{ entities_entity04_name }}" + entity_icon: "{{ entities_entity04_icon }}" + - row: entitypage01.value05 + entity: "{{ entities_entity05 }}" + entity_name: "{{ entities_entity05_name }}" + entity_icon: "{{ entities_entity05_icon }}" + - row: entitypage01.value06 + entity: "{{ entities_entity06 }}" + entity_name: "{{ entities_entity06_name }}" + entity_icon: "{{ entities_entity06_icon }}" + - row: entitypage01.value07 + entity: "{{ entities_entity07 }}" + entity_name: "{{ entities_entity07_name }}" + entity_icon: "{{ entities_entity07_icon }}" + - row: entitypage01.value08 + entity: "{{ entities_entity08 }}" + entity_name: "{{ entities_entity08_name }}" + entity_icon: "{{ entities_entity08_icon }}" + + sequence: + - if: + - condition: template + value_template: '{{ repeat.item.entity|length > 0 }}' + then: + - if: + - condition: template + value_template: '{{ repeat.item.entity_icon |length > 0 }}' + then: + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}_pic" + message: "{{ repeat.item.entity_icon }}" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}_label" + message: >- + {%- if repeat.item.entity_name |length > 0 -%} {{ repeat.item.entity_name }} + {%- elif states(repeat.item.entity) == 'unavailable' -%} {{ repeat.item.entity }} + {%- else -%} {{ state_attr(repeat.item.entity, "friendly_name")| default('no name') }} + {%- endif -%} + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}" + #message: '{{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement")| default("") }}' + message: >- + {%- if state_attr(repeat.item.entity, "unit_of_measurement") == None -%} + {{ states(repeat.item.entity) }} + {%- else -%} + {{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement") }} + {%- endif -%} + + ## ENTITY PAGE 02 ## + - conditions: '{{ trigger.event.data.new_state.state == page_entitypage02 }}' + alias: 'entity02 page' + sequence: + ##### ENTITY Page Label ##### + - if: + - condition: template + value_template: '{{ entity_page02_label |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "entity02_label" + message: "{{ entity_page02_label }}" + ##### Entities ##### + - delay: + milliseconds: "{{ delay_value }}" + - repeat: + for_each: + - row: entitypage02.value01 + entity: "{{ entities_entity09 }}" + entity_name: "{{ entities_entity09_name }}" + entity_icon: "{{ entities_entity09_icon }}" + - row: entitypage02.value02 + entity: "{{ entities_entity10 }}" + entity_name: "{{ entities_entity10_name }}" + entity_icon: "{{ entities_entity10_icon }}" + - row: entitypage02.value03 + entity: "{{ entities_entity11 }}" + entity_name: "{{ entities_entity11_name }}" + entity_icon: "{{ entities_entity11_icon }}" + - row: entitypage02.value04 + entity: "{{ entities_entity12 }}" + entity_name: "{{ entities_entity12_name }}" + entity_icon: "{{ entities_entity12_icon }}" + - row: entitypage02.value05 + entity: "{{ entities_entity13 }}" + entity_name: "{{ entities_entity13_name }}" + entity_icon: "{{ entities_entity13_icon }}" + - row: entitypage02.value06 + entity: "{{ entities_entity14 }}" + entity_name: "{{ entities_entity14_name }}" + entity_icon: "{{ entities_entity14_icon }}" + - row: entitypage02.value07 + entity: "{{ entities_entity15 }}" + entity_name: "{{ entities_entity15_name }}" + entity_icon: "{{ entities_entity15_icon }}" + - row: entitypage02.value08 + entity: "{{ entities_entity16 }}" + entity_name: "{{ entities_entity16_name }}" + entity_icon: "{{ entities_entity16_icon }}" + + sequence: + - if: + - condition: template + value_template: '{{ repeat.item.entity|length > 0 }}' + then: + - if: + - condition: template + value_template: '{{ repeat.item.entity_icon |length > 0 }}' + then: + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}_pic" + message: "{{ repeat.item.entity_icon }}" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}_label" + message: >- + {%- if repeat.item.entity_name |length > 0 -%} {{ repeat.item.entity_name }} + {%- elif states(repeat.item.entity) == 'unavailable' -%} {{ repeat.item.entity }} + {%- else -%} {{ state_attr(repeat.item.entity, "friendly_name")| default('no name') }} + {%- endif -%} + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}" + #message: '{{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement")| default("") }}' + message: >- + {%- if state_attr(repeat.item.entity, "unit_of_measurement") == None -%} + {{ states(repeat.item.entity) }} + {%- else -%} + {{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement") }} + {%- endif -%} + + ## ENTITY PAGE 03 ## + - conditions: '{{ trigger.event.data.new_state.state == page_entitypage03 }}' + alias: 'entity03 page' + sequence: + ##### ENTITY Page Label ##### + - if: + - condition: template + value_template: '{{ entity_page03_label |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "entity03_label" + message: "{{ entity_page03_label }}" + ##### Entities ##### + - delay: + milliseconds: "{{ delay_value }}" + - repeat: + for_each: + - row: entitypage03.value01 + entity: "{{ entities_entity17 }}" + entity_name: "{{ entities_entity17_name }}" + entity_icon: "{{ entities_entity17_icon }}" + - row: entitypage03.value02 + entity: "{{ entities_entity18 }}" + entity_name: "{{ entities_entity18_name }}" + entity_icon: "{{ entities_entity18_icon }}" + - row: entitypage03.value03 + entity: "{{ entities_entity19 }}" + entity_name: "{{ entities_entity19_name }}" + entity_icon: "{{ entities_entity19_icon }}" + - row: entitypage03.value04 + entity: "{{ entities_entity20 }}" + entity_name: "{{ entities_entity20_name }}" + entity_icon: "{{ entities_entity20_icon }}" + - row: entitypage03.value05 + entity: "{{ entities_entity21 }}" + entity_name: "{{ entities_entity21_name }}" + entity_icon: "{{ entities_entity21_icon }}" + - row: entitypage03.value06 + entity: "{{ entities_entity22 }}" + entity_name: "{{ entities_entity22_name }}" + entity_icon: "{{ entities_entity22_icon }}" + - row: entitypage03.value07 + entity: "{{ entities_entity23 }}" + entity_name: "{{ entities_entity23_name }}" + entity_icon: "{{ entities_entity23_icon }}" + - row: entitypage03.value08 + entity: "{{ entities_entity24 }}" + entity_name: "{{ entities_entity24_name }}" + entity_icon: "{{ entities_entity24_icon }}" + + sequence: + - if: + - condition: template + value_template: '{{ repeat.item.entity|length > 0 }}' + then: + - if: + - condition: template + value_template: '{{ repeat.item.entity_icon |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}_pic" + message: "{{ repeat.item.entity_icon }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}_label" + message: >- + {%- if repeat.item.entity_name |length > 0 -%} {{ repeat.item.entity_name }} + {%- elif states(repeat.item.entity) == 'unavailable' -%} {{ repeat.item.entity }} + {%- else -%} {{ state_attr(repeat.item.entity, "friendly_name")| default('no name') }} + {%- endif -%} + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}" + #message: '{{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement")| default("") }}' + message: >- + {%- if state_attr(repeat.item.entity, "unit_of_measurement") == None -%} + {{ states(repeat.item.entity) }} + {%- else -%} + {{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement") }} + {%- endif -%} + + ## ENTITY PAGE 04 ## + - conditions: '{{ trigger.event.data.new_state.state == page_entitypage04 }}' + alias: 'entity04 page' + sequence: + ##### ENTITY Page Label ##### + - if: + - condition: template + value_template: '{{ entity_page04_label |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "entity04_label" + message: "{{ entity_page04_label }}" + ##### Entities ##### + - delay: + milliseconds: "{{ delay_value }}" + - repeat: + for_each: + - row: entitypage04.value01 + entity: "{{ entities_entity25 }}" + entity_name: "{{ entities_entity25_name }}" + entity_icon: "{{ entities_entity25_icon }}" + - row: entitypage04.value02 + entity: "{{ entities_entity26 }}" + entity_name: "{{ entities_entity26_name }}" + entity_icon: "{{ entities_entity26_icon }}" + - row: entitypage04.value03 + entity: "{{ entities_entity27 }}" + entity_name: "{{ entities_entity27_name }}" + entity_icon: "{{ entities_entity27_icon }}" + - row: entitypage04.value04 + entity: "{{ entities_entity28 }}" + entity_name: "{{ entities_entity28_name }}" + entity_icon: "{{ entities_entity28_icon }}" + - row: entitypage04.value05 + entity: "{{ entities_entity29 }}" + entity_name: "{{ entities_entity29_name }}" + entity_icon: "{{ entities_entity29_icon }}" + - row: entitypage04.value06 + entity: "{{ entities_entity30 }}" + entity_name: "{{ entities_entity30_name }}" + entity_icon: "{{ entities_entity30_icon }}" + - row: entitypage04.value07 + entity: "{{ entities_entity31 }}" + entity_name: "{{ entities_entity31_name }}" + entity_icon: "{{ entities_entity31_icon }}" + - row: entitypage04.value08 + entity: "{{ entities_entity32 }}" + entity_name: "{{ entities_entity32_name }}" + entity_icon: "{{ entities_entity32_icon }}" + + sequence: + - if: + - condition: template + value_template: '{{ repeat.item.entity|length > 0 }}' + then: + - if: + - condition: template + value_template: '{{ repeat.item.entity_icon |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}_pic" + message: "{{ repeat.item.entity_icon }}" + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}_label" + message: >- + {%- if repeat.item.entity_name |length > 0 -%} {{ repeat.item.entity_name }} + {%- elif states(repeat.item.entity) == 'unavailable' -%} {{ repeat.item.entity }} + {%- else -%} {{ state_attr(repeat.item.entity, "friendly_name")| default('no name') }} + {%- endif -%} + - service: "{{ command_text_printf }}" + data: + component: "{{ repeat.item.row }}" + #message: '{{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement")| default("") }}' + message: >- + {%- if state_attr(repeat.item.entity, "unit_of_measurement") == None -%} + {{ states(repeat.item.entity) }} + {%- else -%} + {{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement") }} + {%- endif -%} + + ## PAGE CLIMATE ## + - conditions: '{{ trigger.event.data.new_state.state == page_climate }}' + alias: 'climate page' + sequence: + - variables: + hvac_mode: "{{ states(entity_long) }}" + outdoor_temp: >- + {%- if outdoortemp is match "sensor." and states(outdoortemp).state != "unavailable" -%} {{ states(outdoortemp) |round(0) }} + {%- elif state_attr(weather_entity, "temperature") != None -%} {{state_attr(weather_entity,"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: climate.climate_label + message: '{{ entity_long_name }}' + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: outdoor_temp + message: "{{ outdoor_temp }}°" + - service: "{{ command_text_printf }}" + data: + component: current_temp + message: "{{state_attr(entity_long, 'current_temperature') | round(1)}}°" + - if: + condition: template + value_template: '{{ hvac_mode != "off" }}' + then: + - variables: + target_temp: "{{state_attr(entity_long, '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) }}°" + + ## PAGE WEATHE01 ## + - conditions: '{{ trigger.event.data.new_state.state == page_weather01 }}' + alias: 'weather01 page' + sequence: + - choose: + ### DEFAULT - WEATHER ### + - conditions: '{{ weather == "Default" }}' + sequence: + - variables: + # weather PIC + weather_icon: >- + {%- 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 -%} + + ##### 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(weather_entity,"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(weather_entity,"wind_speed") | round(0)}} km/h' + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather01.value03_icon + message: "{{ weather_icon_wind }}" + - delay: + milliseconds: "{{ delay_value }}" + + ##### field 4 ##### + + ##### field 5 ##### + + ### ACCUWEATHER - WEATHER ### + - conditions: '{{ weather == "AccuWeather" }}' + sequence: + - variables: + # weather PIC + weather_icon: >- + {%- if state_attr(weather_entity,"forecast")[0].condition == 'sunny' -%} {{ weather_sunny }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'cloudy' -%} {{ weather_cloudy }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'rainy' -%} {{ weather_rainy }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'pouring' -%} {{ weather_pouring }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'snowy' -%} {{ weather_snowy }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'hail' -%} {{ weather_hail }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'fog' -%} {{ weather_fog }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'windy' -%} {{ weather_windy }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'windy-variant' -%} {{ weather_windy-variant }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'lightning' -%} {{ weather_lightning }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'execptional' -%} {{ weather_execptional_day }} + {%- elif state_attr(weather_entity,"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(weather_entity,'forecast')[0].precipitation_probability}} %" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather01.value01_icon + message: "{{ 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_text_printf }}" + data: + component: weather01.value02_icon + message: "{{ 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_text_printf }}" + data: + component: weather01.value03_icon + message: "{{ 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_text_printf }}" + data: + component: weather01.value04_icon + message: "{{ 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_text_printf }}" + data: + component: weather01.value05_icon + message: "{{ weather_icon_wind }}" + + ### DEFAULT ### + default: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_home }}" + + ## PAGE WEATHE02 ## + - conditions: '{{ trigger.event.data.new_state.state == page_weather02 }}' + alias: 'weather02 page' + sequence: + - choose: + ### DEFAULT - WEATHER ### + - conditions: '{{ weather == "Default" }}' + sequence: + - variables: + # weather PIC + weather_icon: >- + {%- if state_attr(weather_entity,"forecast")[0].condition == 'sunny' -%} {{ weather_sunny }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'cloudy' -%} {{ weather_cloudy }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'rainy' -%} {{ weather_rainy }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'pouring' -%} {{ weather_pouring }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'snowy' -%} {{ weather_snowy }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'hail' -%} {{ weather_hail }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'fog' -%} {{ weather_fog }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'windy' -%} {{ weather_windy }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'windy-variant' -%} {{ weather_windy-variant }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'lightning' -%} {{ weather_lightning }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} + {%- elif state_attr(weather_entity,"forecast")[0].condition == 'execptional' -%} {{ weather_execptional_day }} + {%- elif state_attr(weather_entity,"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(weather_entity,"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(weather_entity,"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(weather_entity,"forecast")[0].precipitation| round(1)}} mm' + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather02.value02_icon + message: "{{ weather_icon_rain }}" + - delay: + milliseconds: "{{ delay_value }}" + + ##### field 3 ##### + - service: "{{ command_text_printf }}" + data: + component: weather02.value03 + message: '{{state_attr(weather_entity,"forecast")[0].wind_speed | round(1)}} km/h' + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather02.value03_icon + message: "{{ weather_icon_wind }}" + - delay: + milliseconds: "{{ delay_value }}" + + ##### field 4 ##### + + ##### field 5 ##### + + ### ACCUWEATHER - WEATHER ### + - conditions: '{{ weather == "AccuWeather" }}' + sequence: + - variables: + # weather PIC + weather_icon: >- + {%- if state_attr(weather_entity,"forecast")[1].condition == 'sunny' -%} {{ weather_sunny }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'cloudy' -%} {{ weather_cloudy }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'rainy' -%} {{ weather_rainy }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'pouring' -%} {{ weather_pouring }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'snowy' -%} {{ weather_snowy }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'hail' -%} {{ weather_hail }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'fog' -%} {{ weather_fog }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'windy' -%} {{ weather_windy }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'windy-variant' -%} {{ weather_windy-variant }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'lightning' -%} {{ weather_lightning }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'execptional' -%} {{ weather_execptional_day }} + {%- elif state_attr(weather_entity,"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(weather_entity,'forecast')[1].precipitation_probability}} %" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather02.value01_icon + message: "{{ 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_text_printf }}" + data: + component: weather02.value02_icon + message: "{{ 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_text_printf }}" + data: + component: weather02.value03_icon + message: "{{ 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_text_printf }}" + data: + component: weather02.value04_icon + message: "{{ 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_text_printf }}" + data: + component: weather02.value05_icon + message: "{{ weather_icon_wind }}" + + ### DEFAULT #### + default: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_home }}" + + ## PAGE WEATHE03 ## + - conditions: '{{ trigger.event.data.new_state.state == page_weather03 }}' + alias: 'weather03 page' + sequence: + - choose: + ### DEFAULT - WEATHER ### + - conditions: '{{ weather == "Default" }}' + sequence: + - variables: + # weather PIC + weather_icon: >- + {%- if state_attr(weather_entity,"forecast")[1].condition == 'sunny' -%} {{ weather_sunny }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'cloudy' -%} {{ weather_cloudy }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'rainy' -%} {{ weather_rainy }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'pouring' -%} {{ weather_pouring }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'snowy' -%} {{ weather_snowy }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'hail' -%} {{ weather_hail }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'fog' -%} {{ weather_fog }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'windy' -%} {{ weather_windy }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'windy-variant' -%} {{ weather_windy-variant }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'lightning' -%} {{ weather_lightning }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} + {%- elif state_attr(weather_entity,"forecast")[1].condition == 'execptional' -%} {{ weather_execptional_day }} + {%- elif state_attr(weather_entity,"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(weather_entity,"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(weather_entity,"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(weather_entity,"forecast")[1].precipitation| round(1)}} mm' + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather03.value02_icon + message: "{{ weather_icon_rain }}" + - delay: + milliseconds: "{{ delay_value }}" + + ##### field 3 ##### + - service: "{{ command_text_printf }}" + data: + component: weather03.value03 + message: '{{state_attr(weather_entity,"forecast")[1].wind_speed | round(1)}} km/h' + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather03.value03_icon + message: "{{ weather_icon_wind }}" + - delay: + milliseconds: "{{ delay_value }}" + + ##### field 4 ##### + + ##### field 5 ##### + + ### ACCUWEATHER - WEATHER ### + - conditions: '{{ weather == "AccuWeather" }}' + sequence: + - variables: + # weather PIC + weather_icon: >- + {%- if state_attr(weather_entity,"forecast")[2].condition == 'sunny' -%} {{ weather_sunny }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'cloudy' -%} {{ weather_cloudy }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'rainy' -%} {{ weather_rainy }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'pouring' -%} {{ weather_pouring }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'snowy' -%} {{ weather_snowy }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'hail' -%} {{ weather_hail }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'fog' -%} {{ weather_fog }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'windy' -%} {{ weather_windy }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'windy-variant' -%} {{ weather_windy-variant }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'lightning' -%} {{ weather_lightning }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'execptional' -%} {{ weather_execptional_day }} + {%- elif state_attr(weather_entity,"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(weather_entity,'forecast')[2].precipitation_probability}} %" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather03.value01_icon + message: "{{ 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_text_printf }}" + data: + component: weather03.value02_icon + message: "{{ 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_text_printf }}" + data: + component: weather03.value03_icon + message: "{{ 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_text_printf }}" + data: + component: weather03.value04_icon + message: "{{ 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_text_printf }}" + data: + component: weather03.value05_icon + message: "{{ weather_icon_wind }}" + + ### DEFAULT ### + default: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_home }}" + + ## PAGE WEATHE04 ## + - conditions: '{{ trigger.event.data.new_state.state == page_weather04 }}' + alias: 'weather04 page' + sequence: + - choose: + ### DEFAULT - WEATHER ### + - conditions: '{{ weather == "Default" }}' + sequence: + - variables: + # weather PIC + weather_icon: >- + {%- if state_attr(weather_entity,"forecast")[2].condition == 'sunny' -%} {{ weather_sunny }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'cloudy' -%} {{ weather_cloudy }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'rainy' -%} {{ weather_rainy }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'pouring' -%} {{ weather_pouring }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'snowy' -%} {{ weather_snowy }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'hail' -%} {{ weather_hail }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'fog' -%} {{ weather_fog }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'windy' -%} {{ weather_windy }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'windy-variant' -%} {{ weather_windy-variant }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'lightning' -%} {{ weather_lightning }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} + {%- elif state_attr(weather_entity,"forecast")[2].condition == 'execptional' -%} {{ weather_execptional_day }} + {%- elif state_attr(weather_entity,"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(weather_entity,"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(weather_entity,"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(weather_entity,"forecast")[2].precipitation| round(1)}} mm' + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather04.value02_icon + message: "{{ weather_icon_rain }}" + - delay: + milliseconds: "{{ delay_value }}" + + ##### field 3 ##### + - service: "{{ command_text_printf }}" + data: + component: weather04.value03 + message: '{{state_attr(weather_entity,"forecast")[2].wind_speed | round(1)}} km/h' + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather04.value03_icon + message: "{{ weather_icon_wind }}" + - delay: + milliseconds: "{{ delay_value }}" + + ##### field 4 ##### + + ##### field 5 ##### + + ### ACCUWEATHER - WEATHER ### + - conditions: '{{ weather == "AccuWeather" }}' + sequence: + - variables: + # weather PIC + weather_icon: >- + {%- if state_attr(weather_entity,"forecast")[3].condition == 'sunny' -%} {{ weather_sunny }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'cloudy' -%} {{ weather_cloudy }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'rainy' -%} {{ weather_rainy }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'pouring' -%} {{ weather_pouring }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'snowy' -%} {{ weather_snowy }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'hail' -%} {{ weather_hail }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'fog' -%} {{ weather_fog }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'windy' -%} {{ weather_windy }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'windy-variant' -%} {{ weather_windy-variant }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'lightning' -%} {{ weather_lightning }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'execptional' -%} {{ weather_execptional_day }} + {%- elif state_attr(weather_entity,"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(weather_entity,'forecast')[3].precipitation_probability}} %" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather04.value01_icon + message: "{{ 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_text_printf }}" + data: + component: weather04.value02_icon + message: "{{ 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_text_printf }}" + data: + component: weather04.value03_icon + message: "{{ 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_text_printf }}" + data: + component: weather04.value04_icon + message: "{{ 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_text_printf }}" + data: + component: weather04.value05_icon + message: "{{ weather_icon_wind }}" + + ### DEFAULT ### + default: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_home }}" + + ## PAGE WEATHE05 ## + - conditions: '{{ trigger.event.data.new_state.state == page_weather05 }}' + alias: 'weather05 page' + sequence: + - choose: + ### DEAFAULT - WEATHER ### + - conditions: '{{ weather == "Default" }}' + sequence: + - variables: + # weather PIC + weather_icon: >- + {%- if state_attr(weather_entity,"forecast")[3].condition == 'sunny' -%} {{ weather_sunny }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'cloudy' -%} {{ weather_cloudy }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'rainy' -%} {{ weather_rainy }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'pouring' -%} {{ weather_pouring }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'snowy' -%} {{ weather_snowy }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'hail' -%} {{ weather_hail }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'fog' -%} {{ weather_fog }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'windy' -%} {{ weather_windy }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'windy-variant' -%} {{ weather_windy-variant }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'lightning' -%} {{ weather_lightning }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} + {%- elif state_attr(weather_entity,"forecast")[3].condition == 'execptional' -%} {{ weather_execptional_day }} + {%- elif state_attr(weather_entity,"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(weather_entity,"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(weather_entity,"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(weather_entity,"forecast")[3].precipitation| round(1)}} mm' + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather05.value02_icon + message: "{{ weather_icon_rain }}" + - delay: + milliseconds: "{{ delay_value }}" + + ##### field 3 ##### + - service: "{{ command_text_printf }}" + data: + component: weather05.value03 + message: '{{state_attr(weather_entity,"forecast")[3].wind_speed | round(1)}} km/h' + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather05.value03_icon + message: "{{ weather_icon_wind }}" + - delay: + milliseconds: "{{ delay_value }}" + + ##### field 4 ##### + + ##### field 5 ##### + + ### ACCUWEATHER - WEATHER ### + - conditions: '{{ weather == "AccuWeather" }}' + sequence: + - variables: + # weather PIC + weather_icon: >- + {%- if state_attr(weather_entity,"forecast")[4].condition == 'sunny' -%} {{ weather_sunny }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'cloudy' -%} {{ weather_cloudy }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'rainy' -%} {{ weather_rainy }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'pouring' -%} {{ weather_pouring }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'snowy' -%} {{ weather_snowy }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'hail' -%} {{ weather_hail }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'fog' -%} {{ weather_fog }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'windy' -%} {{ weather_windy }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'windy-variant' -%} {{ weather_windy-variant }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'lightning' -%} {{ weather_lightning }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} + {%- elif state_attr(weather_entity,"forecast")[4].condition == 'execptional' -%} {{ weather_execptional_day }} + {%- elif state_attr(weather_entity,"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(weather_entity,'forecast')[4].precipitation_probability}} %" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: weather05.value01_icon + message: "{{ 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_text_printf }}" + data: + component: weather05.value02_icon + message: "{{ 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_text_printf }}" + data: + component: weather05.value03_icon + message: "{{ 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_text_printf }}" + data: + component: weather05.value04_icon + message: "{{ 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_text_printf }}" + data: + component: weather05.value05_icon + message: "{{ weather_icon_wind }}" + + ### DEFAULT ### + default: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_home }}" + + + ## PAGE NOTIFICATION ## + - conditions: '{{ trigger.event.data.new_state.state == page_notification }}' + alias: 'notification page' + sequence: + - service: "{{ command_text_printf }}" + data: + component: notification.notifi_text01 + message: "{{ states(notification_text) }}" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: notification.notifi_label + message: "{{ states(notification_label) }}" + + ## PAGE QR Code ## + - conditions: '{{ trigger.event.data.new_state.state == page_qrcode }}' + alias: 'qrcode page' + sequence: + - if: + - condition: template + value_template: '{{ qrcode_label |length > 0 }}' + then: + - service: "{{ command_text_printf }}" + data: + component: "qrcode_label" + message: "{{ qrcode_label }}" + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: "qrcode_value" + message: "{{ qrcode_value }}" + + ## PAGE SETTINGS ## + - conditions: '{{ trigger.event.data.new_state.state == page_settings }}' + alias: 'settings page' + sequence: + + ## PAGE BOOT ## + - conditions: '{{ trigger.event.data.new_state.state == page_boot }}' + alias: 'boot page' + sequence: + + ## PAGE SCREENSAVER ## + - conditions: '{{ trigger.event.data.new_state.state == page_screensaver }}' + alias: 'screensaver page' + sequence: + + ##### UPDATE BUTTONS AND PAGES - button page / lightsettings page / coversettings page ##### - conditions: - condition: trigger id: @@ -4185,8 +7947,9 @@ action: - current_state_entity31 - current_state_entity32 - condition: template - value_template: "{{ trigger.to_state.state != 'unavailable' }}" + value_template: "{{ states(current_page) == page_buttonpage01 or states(current_page) == page_buttonpage02 or states(current_page) == page_buttonpage03 or states(current_page) == page_buttonpage04 and trigger.to_state.state != 'unavailable' }}" sequence: + ##### SET Buttons #### - alias: "Set variable(s) for entity change" variables: buttonpage: '{{ states(current_page) }}' @@ -4262,14 +8025,43 @@ action: {%- endif -%} # ICON Font Color btn_icon_font: >- - {%- if trigger.to_state.entity_id is match "button." or trigger.to_state.entity_id is match "input_button." or trigger.to_state.entity_id is match "scene." -%} {{ color_04 }} - {%- elif trigger.to_state.state == 'on' or trigger.to_state.state == 'open' -%} {{ color_04 }} + {%- if trigger.entity_id == entity01 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity01_icon_color }} + {%- elif trigger.entity_id == entity02 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity02_icon_color }} + {%- elif trigger.entity_id == entity03 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity03_icon_color }} + {%- elif trigger.entity_id == entity04 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity04_icon_color }} + {%- elif trigger.entity_id == entity05 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity05_icon_color }} + {%- elif trigger.entity_id == entity06 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity06_icon_color }} + {%- elif trigger.entity_id == entity07 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity07_icon_color }} + {%- elif trigger.entity_id == entity08 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity08_icon_color }} + {%- elif trigger.entity_id == entity09 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity09_icon_color }} + {%- elif trigger.entity_id == entity10 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity10_icon_color }} + {%- elif trigger.entity_id == entity11 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity11_icon_color }} + {%- elif trigger.entity_id == entity12 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity12_icon_color }} + {%- elif trigger.entity_id == entity13 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity13_icon_color }} + {%- elif trigger.entity_id == entity14 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity14_icon_color }} + {%- elif trigger.entity_id == entity15 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity15_icon_color }} + {%- elif trigger.entity_id == entity16 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity16_icon_color }} + {%- elif trigger.entity_id == entity17 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity17_icon_color }} + {%- elif trigger.entity_id == entity18 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity18_icon_color }} + {%- elif trigger.entity_id == entity19 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity19_icon_color }} + {%- elif trigger.entity_id == entity20 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity20_icon_color }} + {%- elif trigger.entity_id == entity21 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity21_icon_color }} + {%- elif trigger.entity_id == entity22 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity22_icon_color }} + {%- elif trigger.entity_id == entity23 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity23_icon_color }} + {%- elif trigger.entity_id == entity24 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity24_icon_color }} + {%- elif trigger.entity_id == entity25 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity25_icon_color }} + {%- elif trigger.entity_id == entity26 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity26_icon_color }} + {%- elif trigger.entity_id == entity27 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity27_icon_color }} + {%- elif trigger.entity_id == entity28 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity28_icon_color }} + {%- elif trigger.entity_id == entity29 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity29_icon_color }} + {%- elif trigger.entity_id == entity30 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity30_icon_color }} + {%- elif trigger.entity_id == entity31 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity31_icon_color }} + {%- elif trigger.entity_id == entity32 and ((trigger.to_state.state == 'on' or trigger.to_state.state == 'open') or (trigger.to_state.entity_id is match "button.") or (trigger.to_state.entity_id is match "input_button.") or (trigger.to_state.entity_id is match "scene.") or (trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home') or (trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off') ) -%} {{ entity32_icon_color }} {%- elif trigger.to_state.state == 'off' or trigger.to_state.state == 'closed' -%} {{ color_03 }} - {%- elif trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home' -%} {{ color_04 }} {%- elif trigger.to_state.entity_id is match "person." and trigger.to_state.state != 'home' -%} {{ color_03 }} - {%- elif trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off' -%} {{ color_04 }} {%- elif trigger.to_state.entity_id is match "climate." and trigger.to_state.state == 'off' -%} {{ color_03 }} {%- endif -%} + # LABEL Font Color btn_txt_font: >- {%- if trigger.to_state.entity_id is match "button." or trigger.to_state.entity_id is match "input_button." or trigger.to_state.entity_id is match "scene." -%} {{ color_02 }} @@ -4289,10 +8081,7 @@ action: {%- elif trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off' and trigger.to_state.attributes.current_temperature is defined -%} {{ (trigger.to_state.attributes.current_temperature | int) | round(0) }}° {%- else -%} 0 {%- endif -%} - - ##### SET Buttons Background #### - # - ##### SET Button PIC ##### + ##### SET Button PIC - service: "{{ command_printf }}" data: cmd: "{{ component_to_update }}pic.pic={{ btn_pic }}" @@ -4317,9 +8106,6 @@ action: data: component: "{{ component_to_update }}bri" message: "{{ btn_bg }}" - - ##### SET Buttons Font Color - # ##### SET ICON Font Color ##### - delay: milliseconds: "{{ delay_value }}" @@ -4341,6 +8127,7 @@ action: data: component: "{{ component_to_update }}bri" message: "{{ btn_bri_font }}" + ##### "BRIGHTNESS" Value ##### - if: - condition: template @@ -4405,213 +8192,233 @@ action: component: "{{ component_to_update }}bri" message: "{{ btn_bg }}" - ##### UPDATE LIGHTSETTING / COVERSETTING PAGE - - choose: - ##### LIGHTSETTINGS PAGE - LIGHT Entity ##### - - conditions: - - condition: template - # value_template: '{{ entity_long is match "light." }}' TODO - value_template: '{{ states(current_page) == page_lightsettings }}' - 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 }} + # ##### UPDATE LIGHTSETTING / COVERSETTING PAGE + # - choose: + # ##### LIGHTSETTINGS PAGE - LIGHT Entity ##### + # - conditions: + # - condition: template + # # value_template: '{{ entity_long is match "light." }}' TODO + # value_template: '{{ states(current_page) == page_lightsettings }}' + # sequence: + # ##### LIGHT ICON - ON / OFF ##### + # - variables: + # lightsettings_icon_font: >- + # {%- if entity_long_icon |length > 0 -%} {{ entity_long_icon }} + # {%- else -%} {{ button_icon_light }} + # {%- endif -%} + # lightsettings_icon_font_color: >- + # {%- if states(entity_long) == 'on' -%} {{ entity_long_icon_color }} + # {%- else -%} {{ color_03 }} + # {%- endif -%} + # - delay: + # milliseconds: "{{ delay_value }}" + # - service: "{{ command_text_printf }}" + # data: + # component: lightsettings.icon_state + # message: "{{ lightsettings_icon_font }}" + # - delay: + # milliseconds: "{{ delay_value }}" + # - service: "{{ command_font_color }}" + # data: + # component: lightsettings.icon_state + # message: "{{ lightsettings_icon_font_color }}" - ##### 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 ON / OFF ##### + # # - choose: + # # ##### LIGHT Settings ON ##### + # # - conditions: + # # - condition: template + # # value_template: '{{ states(entity_long) == "on" }}' + # # sequence: + # # ##### 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 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 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 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 SETTINGS - OFF ##### + # # - conditions: + # # - condition: template + # # value_template: '{{ states(entity_long) == "off" }}' + # # sequence: + # # ##### 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 %' + # # ##### 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." }}' TODO - value_template: '{{ states(current_page) == page_coversettings }}' - 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) }}' + # ##### COVERSETTINGS PAGE - COVER Entity ##### + # - conditions: + # - condition: template + # # value_template: '{{ entity_long is match "cover." }}' TODO + # value_template: '{{ states(current_page) == page_coversettings }}' + # sequence: + # ##### COVER ICON - ON / OFF ##### + # - variables: + # coversettings_icon_font: >- + # {%- if entity_long_icon |length > 0 -%} {{ entity_long_icon }} + # {%- else -%} {{ button_icon_cover }} + # {%- endif -%} + # coversettings_icon_font_color: >- + # {%- if states(entity_long) == 'open' -%} {{ entity_long_icon_color }} + # {%- else -%} {{ color_03 }} + # {%- endif -%} + # - delay: + # milliseconds: "{{ delay_value }}" + # - service: "{{ command_text_printf }}" + # data: + # component: coversettings.icon_state + # message: "{{ coversettings_icon_font }}" + # - delay: + # milliseconds: "{{ delay_value }}" + # - service: "{{ command_font_color }}" + # data: + # component: coversettings.icon_state + # message: "{{ coversettings_icon_font_color }}" + + # ##### COVER OPEN ##### + # - choose: + # - conditions: + # - condition: template + # value_template: '{{ states(entity_long) == "open" }}' + # sequence: + # ##### 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 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 - Closed ##### + # - conditions: + # - condition: template + # value_template: '{{ states(entity_long) == "closed" }}' + # sequence: + # ##### 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 %' + # ##### 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 ##### + ##### SHORT PRESS BUTTON PAGE - toggle enities ##### - conditions: - condition: trigger id: short_press + - condition: template + value_template: '{{ states(current_page) == page_buttonpage01 or states(current_page) == page_buttonpage02 or states(current_page) == page_buttonpage03 or states(current_page) == page_buttonpage04}}' sequence: - variables: ##### Entity - Page Button - Toggle Entity ##### @@ -4816,10 +8623,12 @@ action: data: entity_id: "{{ entity_short }}" - ##### Page Button - LONG Press - JUMP to Page Lightsettings / Coversettings ##### + ##### LONG PRESS BUTTON PAGE - save entity for settings pages ##### - conditions: - condition: trigger id: long_press + - condition: template + value_template: '{{ states(current_page) == page_buttonpage01 or states(current_page) == page_buttonpage02 or states(current_page) == page_buttonpage03 or states(current_page) == page_buttonpage04}}' sequence: - variables: ##### Long Press Entity ##### @@ -4894,22 +8703,98 @@ action: {%- elif trigger.to_state.state == "pressbuttonpage04button08" -%} {{ entity32_name }} {%- endif -%} + ##### Long Press Entity Icon ##### + entity_long_icon: >- + {%- if trigger.to_state.state == "pressbuttonpage01button01" -%} {{ entity01_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage01button02" -%} {{ entity02_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage01button03" -%} {{ entity03_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage01button04" -%} {{ entity04_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage01button05" -%} {{ entity05_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage01button06" -%} {{ entity06_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage01button07" -%} {{ entity07_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage01button08" -%} {{ entity08_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage02button01" -%} {{ entity09_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage02button02" -%} {{ entity10_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage02button03" -%} {{ entity11_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage02button04" -%} {{ entity12_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage02button05" -%} {{ entity13_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage02button06" -%} {{ entity14_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage02button07" -%} {{ entity15_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage02button08" -%} {{ entity16_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage03button01" -%} {{ entity17_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage03button02" -%} {{ entity18_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage03button03" -%} {{ entity19_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage03button04" -%} {{ entity20_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage03button05" -%} {{ entity21_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage03button06" -%} {{ entity22_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage03button07" -%} {{ entity23_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage03button08" -%} {{ entity24_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage04button01" -%} {{ entity25_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage04button02" -%} {{ entity26_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage04button03" -%} {{ entity27_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage04button04" -%} {{ entity28_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage04button05" -%} {{ entity29_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage04button06" -%} {{ entity30_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage04button07" -%} {{ entity31_icon }} + {%- elif trigger.to_state.state == "pressbuttonpage04button08" -%} {{ entity32_icon }} + {%- endif -%} + + ##### Long Press Entity Icon Color ##### + entity_long_icon_color: >- + {%- if trigger.to_state.state == "pressbuttonpage01button01" -%} {{ entity01_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage01button02" -%} {{ entity02_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage01button03" -%} {{ entity03_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage01button04" -%} {{ entity04_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage01button05" -%} {{ entity05_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage01button06" -%} {{ entity06_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage01button07" -%} {{ entity07_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage01button08" -%} {{ entity08_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage02button01" -%} {{ entity09_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage02button02" -%} {{ entity10_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage02button03" -%} {{ entity11_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage02button04" -%} {{ entity12_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage02button05" -%} {{ entity13_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage02button06" -%} {{ entity14_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage02button07" -%} {{ entity15_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage02button08" -%} {{ entity16_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage03button01" -%} {{ entity17_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage03button02" -%} {{ entity18_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage03button03" -%} {{ entity19_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage03button04" -%} {{ entity20_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage03button05" -%} {{ entity21_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage03button06" -%} {{ entity22_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage03button07" -%} {{ entity23_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage03button08" -%} {{ entity24_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage04button01" -%} {{ entity25_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage04button02" -%} {{ entity26_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage04button03" -%} {{ entity27_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage04button04" -%} {{ entity28_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage04button05" -%} {{ entity29_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage04button06" -%} {{ entity30_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage04button07" -%} {{ entity31_icon_color }} + {%- elif trigger.to_state.state == "pressbuttonpage04button08" -%} {{ entity32_icon_color }} + {%- endif -%} + + ##### Current Page ##### entity_back: '{{ states(current_page) }}' - service: '{{ command_set_settings_entity }}' data: - entity: '{{ entity_long }},{{ entity_back }},{{ entity_long_name }}' - - ##### LASTCLICK_LIGHTSETTINGS - Changes on page Light-Settings ##### + entity: '{{ entity_long }},{{ entity_back }},{{ entity_long_name }},{{ entity_long_icon }},{{ entity_long_icon_color }}' + + ##### LASTCLICK_LIGHTSETTINGS - changes on page lightsettings ##### - conditions: - condition: trigger id: light_settings + - condition: template + value_template: "{{ states(current_page) == page_lightsettings }}" 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) }}' + #value_template: '{{ trigger.event.data.new_state.state is match "brightness\d+" and trigger.event.data.new_state.state == states(last_click_lightsettings) }}' + value_template: '{{ trigger.event.data.new_state.state is match "brightness\d+" }}' sequence: - service: light.turn_on data: @@ -4928,6 +8813,18 @@ action: component: lightsettings.light_value_2 message: '{{ (trigger.event.data.new_state.state |replace("brightness","") | int * 100 /255) |round(0) }}%' + # value_template: '{{ states(last_click_lightsettings) is match "brightness\d+" }}' + # sequence: + # - service: light.turn_on + # data: + # entity_id: '{{ entity_long }}' + # brightness: '{{ states(last_click_lightsettings) |replace("brightness","") | int }}' + # - service: "{{ command_text_printf }}" + # data: + # component: lightsettings.light_value + # message: '{{ (states(last_click_lightsettings) |replace("brightness","") | int * 100 /255) |round(0) }}' + + ##### Page Lightsettings - color_Temp Slider MOVE ##### - conditions: - condition: template @@ -4969,16 +8866,19 @@ action: data: cmd: "page {{ entity_back }}" - ##### LASTCLICK_COVERSETTINGS - Changes on page Cover-Settings ##### + ##### LASTCLICK_COVERSETTINGS - changes on page coversettings ##### - conditions: - condition: trigger id: cover_settings + - condition: template + value_template: "{{ states(current_page) == page_coversettings }}" 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) }}' + #value_template: '{{ trigger.event.data.new_state.state is match "coverposition\d+" and trigger.event.data.new_state.state == states(last_click_coversettings) }}' + value_template: '{{ trigger.event.data.new_state.state is match "coverposition\d+" }}' sequence: - service: cover.set_cover_position data: @@ -5033,10 +8933,12 @@ action: data: cmd: "page {{ entity_back }}" - ##### LASTCLICK_CLIMATESETTINGS - Changes on page Climate-Settings ##### + ##### LASTCLICK_CLIMATESETTINGS - changes on page climatesettings ##### - conditions: - condition: trigger id: climate_settings + - condition: template + value_template: "{{ states(current_page) == page_climate }}" sequence: - choose: ##### Page Climatesettings - hotwater ##### @@ -5193,7 +9095,480 @@ action: data: cmd: "page {{ entity_back }}" - ##### Left button press ##### + +##### TRIGGER - HOME PAGE ###### + + ##### HOME PAGE - value 01 ##### + - conditions: + - condition: trigger + id: home_value01_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.value01_state + message: "{{ home_value01_label_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.value01_state + message: '{{ trigger.event.data.new_state.state |round(1) }}{{ trigger.event.data.new_state.attributes.unit_of_measurement }}' + + ##### HOME PAGE - value 02 ##### + - conditions: + - condition: trigger + id: home_value02_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.value02_state + message: "{{ home_value02_label_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.value02_state + message: '{{ trigger.event.data.new_state.state |round(1) }}{{ trigger.event.data.new_state.attributes.unit_of_measurement }}' + + ##### HOME PAGE - value 03 ##### + - conditions: + - condition: trigger + id: home_value03_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.value03_state + message: "{{ home_value03_label_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.value03_state + message: '{{ trigger.event.data.new_state.state |round(1) }}{{ trigger.event.data.new_state.attributes.unit_of_measurement }}' + + ##### CHIP RELAY 01 - statusbar 01 ##### + - conditions: + - condition: trigger + id: relay01_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + - variables: + chip_relay01: >- + {%- if trigger.event.data.new_state.state == 'on' -%} {{ relay01_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_01 + message: "{{ relay01_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_01 + message: "{{ chip_relay01 }}" + + ##### CHIP RELAY 02 - statusbar 02 ##### + - conditions: + - condition: trigger + id: relay02_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + - variables: + chip_relay02: >- + {%- if trigger.event.data.new_state.state == 'on' -%} {{ relay02_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_02 + message: "{{ relay02_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_02 + message: "{{ chip_relay02 }}" + + ##### CHIP HEATING - statusbar 03 ##### + - conditions: + - condition: trigger + id: climate_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + - variables: + chip_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_icon }} + {%- elif trigger.event.data.new_state.state == "heat" -%} {{ thermostat_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_03 + message: "{{ thermostat_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_03 + message: "{{ chip_climate }}" + + ##### CHIP 01 - statusbar 04 ##### + - conditions: + - condition: trigger + id: chip01_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + - variables: + chip_icon: >- + {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip01_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_04 + message: "{{ chip01_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_04 + message: "{{ chip_icon }}" + + ##### CHIP 02 - statusbar 05 ##### + - conditions: + - condition: trigger + id: chip02_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + - variables: + chip_icon: >- + {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip02_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_05 + message: "{{ chip02_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_05 + message: "{{ chip_icon }}" + + ##### CHIP 03 - statusbar 06 ##### + - conditions: + - condition: trigger + id: chip03_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + - variables: + chip_icon: >- + {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip03_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_06 + message: "{{ chip03_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_06 + message: "{{ chip_icon }}" + + ##### CHIP 04 - statusbar 07 ##### + - conditions: + - condition: trigger + id: chip04_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + - variables: + chip_icon: >- + {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip04_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_07 + message: "{{ chip04_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_07 + message: "{{ chip_icon }}" + + ##### CHIP 05 - statusbar 08 ##### + - conditions: + - condition: trigger + id: chip05_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + - variables: + chip_icon: >- + {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip05_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_08 + message: "{{ chip05_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_08 + message: "{{ chip_icon }}" + + ##### CHIP 06 - statusbar 09 ##### + - conditions: + - condition: trigger + id: chip06_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + - variables: + chip_icon: >- + {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip06_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_09 + message: "{{ chip06_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_09 + message: "{{ chip_icon }}" + + ##### CHIP 07 - statusbar 10 ##### + - conditions: + - condition: trigger + id: chip07_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" + sequence: + - variables: + chip_icon: >- + {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip07_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + ### ICON Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.icon_top_10 + message: "{{ chip07_icon_color }}" + ### ICON Font ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.icon_top_10 + message: "{{ chip_icon }}" + + ##### JUMP TO - climate page ##### + - conditions: + - condition: trigger + id: open_climate_page + - condition: template + value_template: "{{ states(current_page) == page_home and climate |length > 0 }} " + sequence: + - variables: + entity_long: '{{ climate }}' + entity_long_name: >- + {%- if states(climate) == 'unavailable' -%} {{ climate }} + {%- else -%} {{ state_attr(climate, "friendly_name")| default('no name') }} + {%- endif -%} + entity_back: '{{ page_home }}' + - service: '{{ command_set_settings_entity }}' + data: + entity: '{{ entity_long }},{{ entity_back }},{{ entity_long_name }}' + + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_climate }}" + + ##### JUMP TO - Weather Page ##### + - conditions: + - condition: trigger + id: open_weather_page + - condition: template + value_template: "{{ states(current_page) == page_home }}" + sequence: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_weather01 }}" + + ##### JUMP TO - QR Code Page ##### + - conditions: + - condition: trigger + id: open_qrcode_page + - condition: template + value_template: "{{ states(current_page) == page_home and qrcode_enabled == true }}" + sequence: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_qrcode }}" + + ##### JUMP TO - ENTITY Page ##### + - conditions: + - condition: trigger + id: open_entity_page + - condition: template + value_template: "{{ states(current_page) == page_home and entitypages_enabled == true }}" + sequence: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_entitypage01 }}" + + ##### JUMP TO - notification ##### + - conditions: + - condition: trigger + id: open_notification_page + - condition: template + value_template: "{{ states(current_page) == page_home and states(notification_text) |length > 0}}" + sequence: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_notification }}" + + #### SHOW BUTTON - notification #### + - conditions: + - condition: trigger + id: + - notification_text_state + - notification_unread_state + - condition: template + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' and trigger.event.data.new_state.state != 'unknown' }}" + sequence: + - alias: "Set notifiy pic" + variables: + set_button04_icon: >- + {%- if is_state(notification_unread, 'on') and states(notification_text) |length > 0 -%} {{ home_button04_icon}} + {%- elif is_state(notification_unread, 'off') and states(notification_text) |length > 0 -%} {{ home_button04_icon }} + {%- else -%} {{ blank_icon }} + {%- endif -%} + set_button04_icon_font: >- + {%- if is_state(notification_unread, 'on') and states(notification_text) |length > 0 -%} {{ home_button04_icon_color01 }} + {%- elif is_state(notification_unread, 'off') and states(notification_text) |length > 0 -%} {{ home_button04_icon_color02 }} + {%- else -%} {{ color_03 }} + {%- endif -%} + ##### SET ICON Font - Notify ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_text_printf }}" + data: + component: home.button04_icon + message: "{{ set_button04_icon }}" + + ##### SET ICON Font Color - Notify ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.button04_icon + message: "{{ set_button04_icon_font }}" + + ##### SHOW BUTTON - notification clear ##### + - conditions: + - condition: trigger + id: btn_notificationclearrelease + - condition: template + value_template: "{{ states(current_page) == page_home and states(confirmation_message) != 'on'}}" + sequence: + - service: switch.turn_off + data: + entity_id: "{{ notification_unread }}" + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_home }}" + + ##### SHOW BUTTON - notification accept ##### + - conditions: + - condition: trigger + id: btn_notificationacceptrelease + - condition: template + value_template: "{{ states(current_page) == page_home and states(confirmation_message) != 'on'}}" + sequence: + - service: switch.turn_off + data: + entity_id: "{{ notification_unread }}" + - service: "{{ command_notification_clear }}" + data: {} + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_home }}" + + ##### LEFT BUTTON - press ##### - conditions: - condition: trigger id: left_button_press @@ -5250,10 +9625,12 @@ action: data: entity_id: "{{ left_button_entity }}" - ##### Left button State ##### + ##### LEFT BUTTON - state ##### - conditions: - condition: trigger id: left_button_state + - condition: template + value_template: "{{ states(current_page) == page_home }}" sequence: ###### Left Hardware Button PIC ##### @@ -5269,11 +9646,10 @@ action: data: cmd: home.left_bt_pic.pic={{ left_hardware_button_state }} - ##### Right button press ##### + ##### RIGHT BUTTON - press ##### - conditions: - condition: trigger - id: right_button_press - + id: right_button_press sequence: - wait_template: "{{ is_state(right_button, 'off') }}" timeout: !input hold_delay @@ -5327,10 +9703,12 @@ action: data: entity_id: "{{ right_button_entity }}" - ##### Right button State ##### + ##### RIGHT BUTTON - state ##### - conditions: - condition: trigger id: right_button_state + - condition: template + value_template: "{{ states(current_page) == page_home }}" sequence: ###### Left Hardware Button PIC ##### @@ -5346,16 +9724,33 @@ action: data: cmd: home.right_bt_pic.pic={{ right_hardware_button_state }} - ##### Date and Time Home Page ##### + ##### DATE AND TIME ##### - conditions: - condition: trigger id: time_state + - condition: template + value_template: "{{ states(current_page) == page_home }}" sequence: - ##### Time Home Page ##### + ### TIME Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.time + message: "{{ time_label_color }}" + ### TIME Font ### - service: "{{ command_text_printf }}" data: component: home.time message: "{{ time }}" + ### DATE Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.date + message: "{{ date_label_color }}" + ### DATE Font ### - delay: milliseconds: "{{ delay_value }}" - service: "{{ command_text_printf }}" @@ -5363,122 +9758,97 @@ action: component: home.date message: "{{ date01_mui }}" - ##### Home Value 01 ##### - - conditions: - - condition: trigger - id: home_value01_state - - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unavailable' }}" - sequence: - - service: "{{ command_text_printf }}" - data: - component: home.value01_state - message: '{{ trigger.event.data.new_state.state |round(1) }}{{ trigger.event.data.new_state.attributes.unit_of_measurement }}' - - ##### Home Value 02 ##### - - conditions: - - condition: trigger - id: home_value02_state - - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unavailable' }}" - sequence: - - service: "{{ command_text_printf }}" - data: - component: home.value02_state - message: '{{ trigger.event.data.new_state.state |round(1) }}{{ trigger.event.data.new_state.attributes.unit_of_measurement }}' - - ##### Home Value 03 ##### - - conditions: - - condition: trigger - id: home_value03_state - - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unavailable' }}" - sequence: - - service: "{{ command_text_printf }}" - data: - component: home.value03_state - message: '{{ trigger.event.data.new_state.state |round(1) }}{{ trigger.event.data.new_state.attributes.unit_of_measurement }}' - - ##### Hotwater Temp ##### - - conditions: - - condition: trigger - id: hotwatertemp_state - - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unavailable' }}" - 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 ##### + ##### OUTDOOR TEMP - entity ##### - conditions: - condition: trigger id: outdoortemp_state - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unavailable' }}" + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" sequence: - - service: "{{ command_text_printf }}" + ### LABEL Outdoor Temp Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" data: component: home.outdoor_temp - message: "{{ trigger.event.data.new_state.state |round(1) }}°" + message: "{{ home_outdoor_temp_label_color }}" + ### LABEL Outdoor Temp Font ### - delay: milliseconds: "{{ delay_value }}" - service: "{{ command_text_printf }}" data: - component: climate.outdoor_temp + component: home.outdoor_temp message: "{{ trigger.event.data.new_state.state |round(1) }}°" - ##### Indoor Temp Entity ##### + ##### INDOOR TEMP - entity ##### - conditions: - condition: trigger id: indoortemp_state - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unavailable' }}" + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" sequence: + ### LABEL Indoor Temp Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.current_temp + message: "{{ home_indoor_temp_label_color }}" + ### LABEL Indoor Temp Font ### + - delay: + milliseconds: "{{ delay_value }}" - service: "{{ command_text_printf }}" data: component: home.current_temp message: "{{ trigger.event.data.new_state.state |round(1) }}°" - ##### Indoor NSPANEL Temp Entity ##### + ##### INDOOR TEMP - nspanel ##### - conditions: - condition: trigger id: nspaneltemp_state - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unavailable' }}" + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" sequence: - if: - condition: template value_template: '{{ indoortemp is not match "sensor." }}' then: + ### LABEL Indoor Temp Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.current_temp + message: "{{ home_indoor_temp_label_color }}" + ### LABEL Indoor Temp Font ### + - delay: + milliseconds: "{{ delay_value }}" - service: "{{ command_text_printf }}" data: component: home.current_temp message: "{{ trigger.event.data.new_state.state |round(1) }}°" - ##### Weather state change update ##### + ##### WEATHER STATE - change update ##### - conditions: - condition: trigger id: weather_state_change - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unavailable' }}" + value_template: "{{ states(current_page) == page_home and trigger.event.data.new_state.state != 'unavailable' }}" sequence: - if: - condition: template value_template: '{{ outdoortemp is not match "sensor." }}' then: + ### LABEL Outdoor Temp Font Color ### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: home.outdoor_temp + message: "{{ home_outdoor_temp_label_color }}" + ### LABEL Outdoor Temp Font ### + - delay: + milliseconds: "{{ delay_value }}" - service: "{{ command_text_printf }}" data: component: home.outdoor_temp @@ -5513,3263 +9883,65 @@ action: data: cmd: home.weather.pic={{ weather_pic }} - ##### PAGE CHANGED ##### + + +########################################################################################################### + + + ##### Sync Climate ##### -> muss noch in page changed climate wwenn climate page fertig - conditions: - condition: trigger - id: current_page_changed + id: climate_state + - condition: template + value_template: "{{ trigger.event.data.new_state.state != 'unavailable' }}" + # - condition: template + # value_template: '{{ states(current_page) == page_climate }}' + # - condition: template + # value_template: '{{ climate_optimistic == false }}' sequence: - ##### climate-page left - apply climate temperature if climate_optimistic ##### ## TODO - remove from here + - 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.old_state.state == page_climate }}' + - condition: template + value_template: '{{ trigger.event.data.new_state.state != "off" }}' #### TODO AND->OR (not) not optimistic-mode 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: '{{ entity_long }}' - #hvac_mode: 'heat' - temperature: "{{ display_target_temperature }}" - - choose: - ## PAGE HOME ## - - conditions: '{{ trigger.event.data.new_state.state == page_home }}' - sequence: - - service: '{{ command_set_settings_entity }}' - data: - entity: 'unknown' - ##### 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 Outdoor Temp ##### - - variables: - outdoor_temp: >- - {%- if outdoortemp is match "sensor." and states(outdoortemp).state != "unavailable" -%} {{ states(outdoortemp) |round(1) }} - {%- elif state_attr(weather_entity, "temperature") != None -%} {{state_attr(weather_entity,"temperature") | round(1)}} - {%- else -%} 0 - {%- endif -%} - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.outdoor_temp - message: "{{ outdoor_temp }}°" - - ##### NSPanel Indoor Temp ##### - - variables: - indoor_temp: >- - {%- if indoortemp is match "sensor." and states(indoortemp).state != "unavailable" -%} {{ states(indoortemp) |round(1) }} - {%- else -%} {{ states(nspaneltemp) |round(1) }} - {%- endif -%} - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.indoortempicon - message: "{{ home_indoor_temp_icon }}" - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.current_temp - message: "{{ indoor_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 #### - - 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 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: - chip_climate: >- - {%- if states(climate) == "heat" and state_attr(climate, "hvac_action") != None and state_attr(climate, "hvac_action") == "heating" -%} {{ heat_icon }} - {%- elif states(climate) == "heat" -%} {{ thermostat_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_03 - message: "{{ chip_climate }}" - - ##### StatusBar - Relay Symbols ###### - - variables: - chip_relay01: >- - {%- if states(relay01_entity) == 'on' -%} {{ relay01_icon }} - {%- else -%} {{ blank_icon}} - {%- endif -%} - chip_relay02: >- - {%- if states(relay02_entity) == 'on' -%} {{ relay02_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_01 - message: "{{ chip_relay01 }}" - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_02 - message: "{{ chip_relay02 }}" - - ###### CHIPS 01 - 07 - Statusbar 04 - 10 ###### - - delay: - milliseconds: "{{ delay_value }}" - - repeat: - for_each: - - position: home.icon_top_04 - entity: "{{ chip01 }}" - entity_icon: "{{ chip01_icon }}" - - position: home.icon_top_05 - entity: "{{ chip02 }}" - entity_icon: "{{ chip02_icon }}" - - position: home.icon_top_06 - entity: "{{ chip03 }}" - entity_icon: "{{ chip03_icon }}" - - position: home.icon_top_07 - entity: "{{ chip04 }}" - entity_icon: "{{ chip04_icon }}" - - position: home.icon_top_08 - entity: "{{ chip05 }}" - entity_icon: "{{ chip05_icon }}" - - position: home.icon_top_09 - entity: "{{ chip06 }}" - entity_icon: "{{ chip06_icon }}" - - position: home.icon_top_10 - entity: "{{ chip07 }}" - entity_icon: "{{ chip07_icon }}" - sequence: - - if: - - condition: template - value_template: '{{ repeat.item.entity |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.position }}" - message: >- - {%- if states(repeat.item.entity) == 'on' -%} {{ repeat.item.entity_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - ##### HOME VALUE 01 - 03 - - delay: - milliseconds: "{{ delay_value }}" - - repeat: - for_each: - - row: home.value01 - entity_icon: "{{ home_value01_icon }}" - entity: "{{ home_value01 }}" - - row: home.value02 - entity_icon: "{{ home_value02_icon }}" - entity: "{{ home_value02 }}" - - row: home.value03 - entity_icon: "{{ home_value03_icon }}" - entity: "{{ home_value03 }}" - sequence: - - if: - - condition: template - value_template: '{{ repeat.item.entity is match "sensor." and states(repeat.item.entity).state != "unavailable" }}' - then: - - if: - - condition: template - value_template: '{{ repeat.item.entity_icon |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}_icon" - message: "{{ repeat.item.entity_icon }}" - - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}_state" - message: '{{ states(repeat.item.entity) |round(1) }}{{ state_attr(repeat.item.entity, "unit_of_measurement") }}' - - ##### Set notify icon ##### - - variables: - set_button04_icon: >- - {%- if is_state(notification_unread, 'on') and states(notification_text) |length > 0 -%} {{ home_button04_icon}} - {%- elif is_state(notification_unread, 'off') and states(notification_text) |length > 0 -%} {{ home_button04_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - set_button04_icon_font: >- - {%- if is_state(notification_unread, 'on') and states(notification_text) |length > 0 -%} {{ color_05 }} - {%- elif is_state(notification_unread, 'off') and states(notification_text) |length > 0 -%} {{ color_06 }} - {%- else -%} {{ color_03 }} - {%- endif -%} - ##### SET ICON Font - Notify ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.button04_icon - message: "{{ set_button04_icon }}" - - ##### SET ICON Font Color - Notify ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: home.button04_icon - message: "{{ set_button04_icon_font }}" - - ###### QR Code - Icon ###### - - if: - - condition: template - value_template: '{{ qrcode_state == true }}' - then: - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.button05_icon - message: "{{ home_button05_icon }}" - - ###### ENTITIES - Icon ###### - - if: - - condition: template - value_template: '{{ entitypages_enabled }}' - then: - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: home.button06_icon - message: "{{ home_button06_icon }}" - - ## PAGE WEATHE01 ## - - conditions: '{{ trigger.event.data.new_state.state == page_weather01 }}' - sequence: - - choose: - - conditions: '{{ weather == "Default" }}' - sequence: - - variables: - # weather PIC - weather_icon: >- - {%- 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 -%} - - ##### 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(weather_entity,"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(weather_entity,"wind_speed") | round(0)}} km/h' - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather01.value03_icon - message: "{{ weather_icon_wind }}" - - delay: - milliseconds: "{{ delay_value }}" - - ##### field 4 ##### - - ##### field 5 ##### - - - conditions: '{{ weather == "AccuWeather" }}' - sequence: - - variables: - # weather PIC - weather_icon: >- - {%- if state_attr(weather_entity,"forecast")[0].condition == 'sunny' -%} {{ weather_sunny }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'cloudy' -%} {{ weather_cloudy }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'rainy' -%} {{ weather_rainy }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'pouring' -%} {{ weather_pouring }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'snowy' -%} {{ weather_snowy }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'hail' -%} {{ weather_hail }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'fog' -%} {{ weather_fog }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'windy' -%} {{ weather_windy }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'windy-variant' -%} {{ weather_windy-variant }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'lightning' -%} {{ weather_lightning }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'execptional' -%} {{ weather_execptional_day }} - {%- elif state_attr(weather_entity,"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(weather_entity,'forecast')[0].precipitation_probability}} %" - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather01.value01_icon - message: "{{ 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_text_printf }}" - data: - component: weather01.value02_icon - message: "{{ 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_text_printf }}" - data: - component: weather01.value03_icon - message: "{{ 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_text_printf }}" - data: - component: weather01.value04_icon - message: "{{ 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_text_printf }}" - data: - component: weather01.value05_icon - message: "{{ weather_icon_wind }}" - - default: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_home }}" - - ## PAGE WEATHE02 ## - - conditions: '{{ trigger.event.data.new_state.state == page_weather02 }}' - sequence: - - choose: - - conditions: '{{ weather == "Default" }}' - sequence: - - variables: - # weather PIC - weather_icon: >- - {%- if state_attr(weather_entity,"forecast")[0].condition == 'sunny' -%} {{ weather_sunny }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'cloudy' -%} {{ weather_cloudy }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'rainy' -%} {{ weather_rainy }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'pouring' -%} {{ weather_pouring }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'snowy' -%} {{ weather_snowy }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'hail' -%} {{ weather_hail }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'fog' -%} {{ weather_fog }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'windy' -%} {{ weather_windy }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'windy-variant' -%} {{ weather_windy-variant }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'lightning' -%} {{ weather_lightning }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} - {%- elif state_attr(weather_entity,"forecast")[0].condition == 'execptional' -%} {{ weather_execptional_day }} - {%- elif state_attr(weather_entity,"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(weather_entity,"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(weather_entity,"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(weather_entity,"forecast")[0].precipitation| round(1)}} mm' - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather02.value02_icon - message: "{{ weather_icon_rain }}" - - delay: - milliseconds: "{{ delay_value }}" - - ##### field 3 ##### - - service: "{{ command_text_printf }}" - data: - component: weather02.value03 - message: '{{state_attr(weather_entity,"forecast")[0].wind_speed | round(1)}} km/h' - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather02.value03_icon - message: "{{ weather_icon_wind }}" - - delay: - milliseconds: "{{ delay_value }}" - - ##### field 4 ##### - - ##### field 5 ##### - - - conditions: '{{ weather == "AccuWeather" }}' - sequence: - - variables: - # weather PIC - weather_icon: >- - {%- if state_attr(weather_entity,"forecast")[1].condition == 'sunny' -%} {{ weather_sunny }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'cloudy' -%} {{ weather_cloudy }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'rainy' -%} {{ weather_rainy }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'pouring' -%} {{ weather_pouring }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'snowy' -%} {{ weather_snowy }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'hail' -%} {{ weather_hail }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'fog' -%} {{ weather_fog }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'windy' -%} {{ weather_windy }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'windy-variant' -%} {{ weather_windy-variant }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'lightning' -%} {{ weather_lightning }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'execptional' -%} {{ weather_execptional_day }} - {%- elif state_attr(weather_entity,"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(weather_entity,'forecast')[1].precipitation_probability}} %" - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather02.value01_icon - message: "{{ 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_text_printf }}" - data: - component: weather02.value02_icon - message: "{{ 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_text_printf }}" - data: - component: weather02.value03_icon - message: "{{ 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_text_printf }}" - data: - component: weather02.value04_icon - message: "{{ 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_text_printf }}" - data: - component: weather02.value05_icon - message: "{{ weather_icon_wind }}" - - default: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_home }}" - - ## PAGE WEATHE03 ## - - conditions: '{{ trigger.event.data.new_state.state == page_weather03 }}' - sequence: - - choose: - - conditions: '{{ weather == "Default" }}' - sequence: - - variables: - # weather PIC - weather_icon: >- - {%- if state_attr(weather_entity,"forecast")[1].condition == 'sunny' -%} {{ weather_sunny }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'cloudy' -%} {{ weather_cloudy }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'rainy' -%} {{ weather_rainy }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'pouring' -%} {{ weather_pouring }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'snowy' -%} {{ weather_snowy }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'hail' -%} {{ weather_hail }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'fog' -%} {{ weather_fog }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'windy' -%} {{ weather_windy }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'windy-variant' -%} {{ weather_windy-variant }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'lightning' -%} {{ weather_lightning }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} - {%- elif state_attr(weather_entity,"forecast")[1].condition == 'execptional' -%} {{ weather_execptional_day }} - {%- elif state_attr(weather_entity,"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(weather_entity,"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(weather_entity,"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(weather_entity,"forecast")[1].precipitation| round(1)}} mm' - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather03.value02_icon - message: "{{ weather_icon_rain }}" - - delay: - milliseconds: "{{ delay_value }}" - - ##### field 3 ##### - - service: "{{ command_text_printf }}" - data: - component: weather03.value03 - message: '{{state_attr(weather_entity,"forecast")[1].wind_speed | round(1)}} km/h' - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather03.value03_icon - message: "{{ weather_icon_wind }}" - - delay: - milliseconds: "{{ delay_value }}" - - ##### field 4 ##### - - ##### field 5 ##### - - - conditions: '{{ weather == "AccuWeather" }}' - sequence: - - variables: - # weather PIC - weather_icon: >- - {%- if state_attr(weather_entity,"forecast")[2].condition == 'sunny' -%} {{ weather_sunny }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'cloudy' -%} {{ weather_cloudy }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'rainy' -%} {{ weather_rainy }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'pouring' -%} {{ weather_pouring }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'snowy' -%} {{ weather_snowy }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'hail' -%} {{ weather_hail }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'fog' -%} {{ weather_fog }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'windy' -%} {{ weather_windy }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'windy-variant' -%} {{ weather_windy-variant }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'lightning' -%} {{ weather_lightning }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'execptional' -%} {{ weather_execptional_day }} - {%- elif state_attr(weather_entity,"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(weather_entity,'forecast')[2].precipitation_probability}} %" - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather03.value01_icon - message: "{{ 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_text_printf }}" - data: - component: weather03.value02_icon - message: "{{ 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_text_printf }}" - data: - component: weather03.value03_icon - message: "{{ 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_text_printf }}" - data: - component: weather03.value04_icon - message: "{{ 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_text_printf }}" - data: - component: weather03.value05_icon - message: "{{ weather_icon_wind }}" - - default: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_home }}" - - ## PAGE WEATHE04 ## - - conditions: '{{ trigger.event.data.new_state.state == page_weather04 }}' - sequence: - - choose: - - conditions: '{{ weather == "Default" }}' - sequence: - - variables: - # weather PIC - weather_icon: >- - {%- if state_attr(weather_entity,"forecast")[2].condition == 'sunny' -%} {{ weather_sunny }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'cloudy' -%} {{ weather_cloudy }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'rainy' -%} {{ weather_rainy }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'pouring' -%} {{ weather_pouring }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'snowy' -%} {{ weather_snowy }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'hail' -%} {{ weather_hail }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'fog' -%} {{ weather_fog }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'windy' -%} {{ weather_windy }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'windy-variant' -%} {{ weather_windy-variant }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'lightning' -%} {{ weather_lightning }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} - {%- elif state_attr(weather_entity,"forecast")[2].condition == 'execptional' -%} {{ weather_execptional_day }} - {%- elif state_attr(weather_entity,"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(weather_entity,"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(weather_entity,"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(weather_entity,"forecast")[2].precipitation| round(1)}} mm' - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather04.value02_icon - message: "{{ weather_icon_rain }}" - - delay: - milliseconds: "{{ delay_value }}" - - ##### field 3 ##### - - service: "{{ command_text_printf }}" - data: - component: weather04.value03 - message: '{{state_attr(weather_entity,"forecast")[2].wind_speed | round(1)}} km/h' - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather04.value03_icon - message: "{{ weather_icon_wind }}" - - delay: - milliseconds: "{{ delay_value }}" - - ##### field 4 ##### - - ##### field 5 ##### - - - conditions: '{{ weather == "AccuWeather" }}' - sequence: - - variables: - # weather PIC - weather_icon: >- - {%- if state_attr(weather_entity,"forecast")[3].condition == 'sunny' -%} {{ weather_sunny }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'cloudy' -%} {{ weather_cloudy }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'rainy' -%} {{ weather_rainy }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'pouring' -%} {{ weather_pouring }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'snowy' -%} {{ weather_snowy }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'hail' -%} {{ weather_hail }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'fog' -%} {{ weather_fog }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'windy' -%} {{ weather_windy }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'windy-variant' -%} {{ weather_windy-variant }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'lightning' -%} {{ weather_lightning }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'execptional' -%} {{ weather_execptional_day }} - {%- elif state_attr(weather_entity,"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(weather_entity,'forecast')[3].precipitation_probability}} %" - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather04.value01_icon - message: "{{ 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_text_printf }}" - data: - component: weather04.value02_icon - message: "{{ 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_text_printf }}" - data: - component: weather04.value03_icon - message: "{{ 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_text_printf }}" - data: - component: weather04.value04_icon - message: "{{ 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_text_printf }}" - data: - component: weather04.value05_icon - message: "{{ weather_icon_wind }}" - - default: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_home }}" - - ## PAGE WEATHE05 ## - - conditions: '{{ trigger.event.data.new_state.state == page_weather05 }}' - sequence: - - choose: - - conditions: '{{ weather == "Default" }}' - sequence: - - variables: - # weather PIC - weather_icon: >- - {%- if state_attr(weather_entity,"forecast")[3].condition == 'sunny' -%} {{ weather_sunny }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'cloudy' -%} {{ weather_cloudy }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'rainy' -%} {{ weather_rainy }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'pouring' -%} {{ weather_pouring }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'snowy' -%} {{ weather_snowy }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'hail' -%} {{ weather_hail }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'fog' -%} {{ weather_fog }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'windy' -%} {{ weather_windy }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'windy-variant' -%} {{ weather_windy-variant }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'lightning' -%} {{ weather_lightning }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} - {%- elif state_attr(weather_entity,"forecast")[3].condition == 'execptional' -%} {{ weather_execptional_day }} - {%- elif state_attr(weather_entity,"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(weather_entity,"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(weather_entity,"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(weather_entity,"forecast")[3].precipitation| round(1)}} mm' - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather05.value02_icon - message: "{{ weather_icon_rain }}" - - delay: - milliseconds: "{{ delay_value }}" - - ##### field 3 ##### - - service: "{{ command_text_printf }}" - data: - component: weather05.value03 - message: '{{state_attr(weather_entity,"forecast")[3].wind_speed | round(1)}} km/h' - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather05.value03_icon - message: "{{ weather_icon_wind }}" - - delay: - milliseconds: "{{ delay_value }}" - - ##### field 4 ##### - - ##### field 5 ##### - - - conditions: '{{ weather == "AccuWeather" }}' - sequence: - - variables: - # weather PIC - weather_icon: >- - {%- if state_attr(weather_entity,"forecast")[4].condition == 'sunny' -%} {{ weather_sunny }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'cloudy' -%} {{ weather_cloudy }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'rainy' -%} {{ weather_rainy }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'pouring' -%} {{ weather_pouring }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'snowy' -%} {{ weather_snowy }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'hail' -%} {{ weather_hail }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'snowy-rainy' -%} {{ weather_snowy_rainy }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'fog' -%} {{ weather_fog }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'windy' -%} {{ weather_windy }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'windy-variant' -%} {{ weather_windy-variant }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'lightning' -%} {{ weather_lightning }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'partlycloudy' -%} {{ weather_partlycloudy_day }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'lightning-rainy' -%} {{ weather_lightning_rainy_day }} - {%- elif state_attr(weather_entity,"forecast")[4].condition == 'execptional' -%} {{ weather_execptional_day }} - {%- elif state_attr(weather_entity,"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(weather_entity,'forecast')[4].precipitation_probability}} %" - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: weather05.value01_icon - message: "{{ 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_text_printf }}" - data: - component: weather05.value02_icon - message: "{{ 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_text_printf }}" - data: - component: weather05.value03_icon - message: "{{ 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_text_printf }}" - data: - component: weather05.value04_icon - message: "{{ 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_text_printf }}" - data: - component: weather05.value05_icon - message: "{{ weather_icon_wind }}" - - default: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_home }}" - - ## PAGE CLIMATE ## - - conditions: '{{ trigger.event.data.new_state.state == page_climate }}' - alias: 'climate page' - sequence: - - variables: - hvac_mode: "{{ states(entity_long) }}" - outdoor_temp: >- - {%- if outdoortemp is match "sensor." and states(outdoortemp).state != "unavailable" -%} {{ states(outdoortemp) |round(0) }} - {%- elif state_attr(weather_entity, "temperature") != None -%} {{state_attr(weather_entity,"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: climate.climate_label - message: '{{ entity_long_name }}' - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: outdoor_temp - message: "{{ outdoor_temp }}°" - - service: "{{ command_text_printf }}" - data: - component: current_temp - message: "{{state_attr(entity_long, 'current_temperature') | round(1)}}°" - - if: - condition: template - value_template: '{{ hvac_mode != "off" }}' - then: - - variables: - target_temp: "{{state_attr(entity_long, '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) }}°" - - ## PAGE SETTINGS ## - - conditions: '{{ trigger.event.data.new_state.state == page_settings }}' - sequence: - - ## PAGE BOOT ## - - conditions: '{{ trigger.event.data.new_state.state == page_boot }}' - sequence: - - ## PAGE SCREENSAVER ## - - conditions: '{{ trigger.event.data.new_state.state == page_screensaver }}' - sequence: - - ## PAGE LIGHTSETTUNGS ## - - conditions: '{{ trigger.event.data.new_state.state == page_lightsettings }}' - sequence: - - 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 }} - - ## PAGE COVERSETTINGS ## - - conditions: '{{ trigger.event.data.new_state.state == page_coversettings }}' - sequence: - - 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 }} - - ## PAGE BUTTONPAGE01 ## - - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage01 }}' - sequence: - - service: '{{ command_set_settings_entity }}' - data: - entity: 'unknown' - ##### Button Page Label ##### - - if: - - condition: template - value_template: '{{ button_page01_label |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "bpage01_label" - message: "{{ button_page01_label }}" - - ##### NSPanel build buttons Buttonpage01 ##### - - delay: - milliseconds: "{{ delay_value }}" - - repeat: - for_each: - - entity: "{{ entity01 }}" - button_icon: "{{ entity01_icon }}" - button_label: "{{ entity01_name }}" - button: buttonpage01.button01 - - entity: "{{ entity02 }}" - button_icon: "{{ entity02_icon }}" - button_label: "{{ entity02_name }}" - button: buttonpage01.button02 - - entity: "{{ entity03 }}" - button_icon: "{{ entity03_icon }}" - button_label: "{{ entity03_name }}" - button: buttonpage01.button03 - - entity: "{{ entity04 }}" - button_icon: "{{ entity04_icon }}" - button_label: "{{ entity04_name }}" - button: buttonpage01.button04 - - entity: "{{ entity05 }}" - button_icon: "{{ entity05_icon }}" - button_label: "{{ entity05_name }}" - button: buttonpage01.button05 - - entity: "{{ entity06 }}" - button_icon: "{{ entity06_icon }}" - button_label: "{{ entity06_name }}" - button: buttonpage01.button06 - - entity: "{{ entity07 }}" - button_icon: "{{ entity07_icon }}" - button_label: "{{ entity07_name }}" - button: buttonpage01.button07 - - entity: "{{ entity08 }}" - button_icon: "{{ entity08_icon }}" - button_label: "{{ entity08_name }}" - button: buttonpage01.button08 - sequence: - - if: - - condition: template - value_template: '{{ repeat.item.entity|length > 0 }}' - then: - - variables: - ### component_to_update: "{{ repeat.item.button }}" - current_entity_state: "{{ states[repeat.item.entity].state }}" - # Button PIC GRAY/WHITE - btn_pic: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_off }} - {%- elif repeat.item.entity is match "light." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "light." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "switch." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "switch." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "cover." and current_entity_state == 'open' -%} {{ button_on }} - {%- elif repeat.item.entity is match "cover." and current_entity_state == 'closed' -%} {{ button_off }} - {%- elif repeat.item.entity is match "automation." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "automation." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "button." -%} {{ button_off }} - {%- elif repeat.item.entity is match "input_button." -%} {{ button_off }} - {%- elif repeat.item.entity is match "scene." -%} {{ button_off }} - {%- elif repeat.item.entity is match "script." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "script." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ button_on }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ button_off }} - {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "fan." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "fan." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ button_on }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ button_off }} - {%- endif -%} - # TEXT, BRIGHTNESS and ICON Background - btn_bg: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_02 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_01 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_02 }} - {%- endif -%} - # ICON Font Color - btn_icon_font: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_05 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_03 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_04 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_03 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_04 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_03 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_04 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_03 }} - {%- endif -%} - # LABEL Font Color - btn_txt_font: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_01 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_02 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_01 }} - {%- endif -%} - # BRIGHTNESS Font Color - btn_bri_font: "{{ color_02 }}" - # ICON Value - btn_icon: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_icon_unknown }} - {%- elif repeat.item.button_icon |length > 0 -%} {{ repeat.item.button_icon }} - {%- elif repeat.item.entity is match "light." -%} {{ button_icon_light }} - {%- elif repeat.item.entity is match "switch." -%} {{ button_icon_switch }} - {%- elif repeat.item.entity is match "input_boolean." -%} {{ button_icon_input_boolan }} - {%- elif repeat.item.entity is match "cover." -%} {{ button_icon_cover }} - {%- elif repeat.item.entity is match "automation." -%} {{ button_icon_automation }} - {%- elif repeat.item.entity is match "button." -%} {{ button_icon_button }} - {%- elif repeat.item.entity is match "input_button." -%} {{ button_icon_input_button }} - {%- elif repeat.item.entity is match "scene." -%} {{ button_icon_screne }} - {%- elif repeat.item.entity is match "script." -%} {{ button_icon_script }} - {%- elif repeat.item.entity is match "person." -%} {{ button_icon_person }} - {%- elif repeat.item.entity is match "binary_sensor." -%} {{ button_icon_binary_sensor }} - {%- elif repeat.item.entity is match "fan." -%} {{ button_icon_fan }} - {%- elif repeat.item.entity is match "climate." -%} {{ button_icon_climate }} - {%- endif -%} - # LABEL Value - btn_label: "{{ repeat.item.button_label }}" - # BRIGHTNESS Value - btn_bri_txt: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} 0 - {%- elif repeat.item.entity is match "light." and current_entity_state == '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 current_entity_state == 'open' and state_attr(repeat.item.entity, "current_position") != None -%} {{ (state_attr(repeat.item.entity, "current_position") | int(100)) | round(0) }}% - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' and state_attr(repeat.item.entity, "current_temperature") != None -%} {{ (state_attr(repeat.item.entity, "current_temperature") | int) | round(0) }}° - {%- else -%} 0 - {%- endif -%} - - ##### SET Buttons Background #### - # - ##### SET Button PIC ##### - - service: "{{ command_printf }}" - data: - cmd: "{{ repeat.item.button }}pic.pic={{ btn_pic }}" - ##### SET ICON Background ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_bg }}" - ##### SET LABEL Background ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_bg }}" - ##### SET BRIGHTNESS Background Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bg }}" - - ##### SET Buttons Font Color #### - # - ##### SET ICON Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_icon_font }}" - ##### SET LABEL Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_txt_font }}" - ##### SET BRIGHTNESS Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bri_font }}" - - ##### SET Buttons Text Value #### - # - ##### "ICON" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_icon }}" - ##### "LABEL" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_label }}" - - ##### "BRIGHTNESS" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - if: - - condition: template - value_template: "{{ btn_bri_txt == 0 }}" - then: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}bri" - message: " " - else: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bri_txt }}" - - ## PAGE BUTTONPAGE02 ## - - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage02 }}' - sequence: - - service: '{{ command_set_settings_entity }}' - data: - entity: 'unknown' - ##### Button Page Label ##### - - if: - - condition: template - value_template: '{{ button_page02_label |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "bpage02_label" - message: "{{ button_page02_label }}" - - ##### NSPanel build buttons Buttonpage02 ##### - - delay: - milliseconds: "{{ delay_value }}" - - repeat: - for_each: - - entity: "{{ entity09 }}" - button_icon: "{{ entity09_icon }}" - button_label: "{{ entity09_name }}" - button: buttonpage02.button01 - - entity: "{{ entity10 }}" - button_icon: "{{ entity10_icon }}" - button_label: "{{ entity10_name }}" - button: buttonpage02.button02 - - entity: "{{ entity11 }}" - button_icon: "{{ entity11_icon }}" - button_label: "{{ entity11_name }}" - button: buttonpage02.button03 - - entity: "{{ entity12 }}" - button_icon: "{{ entity12_icon }}" - button_label: "{{ entity12_name }}" - button: buttonpage02.button04 - - entity: "{{ entity13 }}" - button_icon: "{{ entity13_icon }}" - button_label: "{{ entity13_name }}" - button: buttonpage02.button05 - - entity: "{{ entity14 }}" - button_icon: "{{ entity14_icon }}" - button_label: "{{ entity14_name }}" - button: buttonpage02.button06 - - entity: "{{ entity15 }}" - button_icon: "{{ entity15_icon }}" - button_label: "{{ entity15_name }}" - button: buttonpage02.button07 - - entity: "{{ entity16 }}" - button_icon: "{{ entity16_icon }}" - button_label: "{{ entity16_name }}" - button: buttonpage02.button08 - sequence: - - if: - - condition: template - value_template: '{{ repeat.item.entity|length > 0 }}' - then: - - variables: - ### component_to_update: "{{ repeat.item.button }}" - current_entity_state: "{{ states[repeat.item.entity].state }}" - # Button PIC GRAY/WHITE - btn_pic: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_off }} - {%- elif repeat.item.entity is match "light." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "light." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "switch." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "switch." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "cover." and current_entity_state == 'open' -%} {{ button_on }} - {%- elif repeat.item.entity is match "cover." and current_entity_state == 'closed' -%} {{ button_off }} - {%- elif repeat.item.entity is match "automation." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "automation." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "button." -%} {{ button_off }} - {%- elif repeat.item.entity is match "input_button." -%} {{ button_off }} - {%- elif repeat.item.entity is match "scene." -%} {{ button_off }} - {%- elif repeat.item.entity is match "script." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "script." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ button_on }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ button_off }} - {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "fan." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "fan." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ button_on }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ button_off }} - {%- endif -%} - # TEXT, BRIGHTNESS and ICON Background - btn_bg: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_02 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_01 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_02 }} - {%- endif -%} - # ICON Font Color - btn_icon_font: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_05 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_03 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_04 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_03 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_04 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_03 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_04 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_03 }} - {%- endif -%} - # LABEL Font Color - btn_txt_font: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_01 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_02 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_01 }} - {%- endif -%} - # BRIGHTNESS Font Color - btn_bri_font: "{{ color_02 }}" - # ICON Value - btn_icon: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_icon_unknown }} - {%- elif repeat.item.button_icon |length > 0 -%} {{ repeat.item.button_icon }} - {%- elif repeat.item.entity is match "light." -%} {{ button_icon_light }} - {%- elif repeat.item.entity is match "switch." -%} {{ button_icon_switch }} - {%- elif repeat.item.entity is match "input_boolean." -%} {{ button_icon_input_boolan }} - {%- elif repeat.item.entity is match "cover." -%} {{ button_icon_cover }} - {%- elif repeat.item.entity is match "automation." -%} {{ button_icon_automation }} - {%- elif repeat.item.entity is match "button." -%} {{ button_icon_button }} - {%- elif repeat.item.entity is match "input_button." -%} {{ button_icon_input_button }} - {%- elif repeat.item.entity is match "scene." -%} {{ button_icon_screne }} - {%- elif repeat.item.entity is match "script." -%} {{ button_icon_script }} - {%- elif repeat.item.entity is match "person." -%} {{ button_icon_person }} - {%- elif repeat.item.entity is match "binary_sensor." -%} {{ button_icon_binary_sensor }} - {%- elif repeat.item.entity is match "fan." -%} {{ button_icon_fan }} - {%- elif repeat.item.entity is match "climate." -%} {{ button_icon_climate }} - {%- endif -%} - # LABEL Value - btn_label: "{{ repeat.item.button_label }}" - # BRIGHTNESS Value - btn_bri_txt: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} 0 - {%- elif repeat.item.entity is match "light." and current_entity_state == '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 current_entity_state == 'open' and state_attr(repeat.item.entity, "current_position") != None -%} {{ (state_attr(repeat.item.entity, "current_position") | int(100)) | round(0) }}% - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' and state_attr(repeat.item.entity, "current_temperature") != None -%} {{ (state_attr(repeat.item.entity, "current_temperature") | int) | round(0) }}° - {%- else -%} 0 - {%- endif -%} - - ##### SET Buttons Background #### - # - ##### SET Button PIC ##### - - service: "{{ command_printf }}" - data: - cmd: "{{ repeat.item.button }}pic.pic={{ btn_pic }}" - ##### SET ICON Background ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_bg }}" - ##### SET LABEL Background ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_bg }}" - ##### SET BRIGHTNESS Background Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bg }}" - - ##### SET Buttons Font Color #### - # - ##### SET ICON Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_icon_font }}" - ##### SET LABEL Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_txt_font }}" - ##### SET BRIGHTNESS Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bri_font }}" - - ##### SET Buttons Text Value #### - # - ##### "ICON" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_icon }}" - ##### "LABEL" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_label }}" - - ##### "BRIGHTNESS" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - if: - - condition: template - value_template: "{{ btn_bri_txt == 0 }}" - then: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}bri" - message: " " - else: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bri_txt }}" - - ## PAGE BUTTONPAGE03 ## - - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage03 }}' - sequence: - - service: '{{ command_set_settings_entity }}' - data: - entity: 'unknown' - ##### Button Page Label ##### - - if: - - condition: template - value_template: '{{ button_page03_label |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "bpage03_label" - message: "{{ button_page03_label }}" - - ##### NSPanel build buttons ##### - - delay: - milliseconds: "{{ delay_value }}" - - repeat: - for_each: - - entity: "{{ entity17 }}" - button_icon: "{{ entity17_icon }}" - button_label: "{{ entity17_name }}" - button: buttonpage03.button01 - - entity: "{{ entity18 }}" - button_icon: "{{ entity18_icon }}" - button_label: "{{ entity18_name }}" - button: buttonpage03.button02 - - entity: "{{ entity19 }}" - button_icon: "{{ entity19_icon }}" - button_label: "{{ entity19_name }}" - button: buttonpage03.button03 - - entity: "{{ entity20 }}" - button_icon: "{{ entity20_icon }}" - button_label: "{{ entity20_name }}" - button: buttonpage03.button04 - - entity: "{{ entity21 }}" - button_icon: "{{ entity21_icon }}" - button_label: "{{ entity21_name }}" - button: buttonpage03.button05 - - entity: "{{ entity22 }}" - button_icon: "{{ entity22_icon }}" - button_label: "{{ entity22_name }}" - button: buttonpage03.button06 - - entity: "{{ entity23 }}" - button_icon: "{{ entity23_icon }}" - button_label: "{{ entity23_name }}" - button: buttonpage03.button07 - - entity: "{{ entity24 }}" - button_icon: "{{ entity24_icon }}" - button_label: "{{ entity24_name }}" - button: buttonpage03.button08 - sequence: - - if: - - condition: template - value_template: '{{ repeat.item.entity|length > 0 }}' - then: - - variables: - ### component_to_update: "{{ repeat.item.button }}" - current_entity_state: "{{ states[repeat.item.entity].state }}" - # Button PIC GRAY/WHITE - btn_pic: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_off }} - {%- elif repeat.item.entity is match "light." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "light." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "switch." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "switch." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "cover." and current_entity_state == 'open' -%} {{ button_on }} - {%- elif repeat.item.entity is match "cover." and current_entity_state == 'closed' -%} {{ button_off }} - {%- elif repeat.item.entity is match "automation." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "automation." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "button." -%} {{ button_off }} - {%- elif repeat.item.entity is match "input_button." -%} {{ button_off }} - {%- elif repeat.item.entity is match "scene." -%} {{ button_off }} - {%- elif repeat.item.entity is match "script." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "script." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ button_on }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ button_off }} - {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "fan." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "fan." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ button_on }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ button_off }} - {%- endif -%} - # TEXT, BRIGHTNESS and ICON Background - btn_bg: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_02 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_01 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_02 }} - {%- endif -%} - # ICON Font Color - btn_icon_font: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_05 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_03 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_04 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_03 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_04 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_03 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_04 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_03 }} - {%- endif -%} - # LABEL Font Color - btn_txt_font: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_01 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_02 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_01 }} - {%- endif -%} - # BRIGHTNESS Font Color - btn_bri_font: "{{ color_02 }}" - # ICON Value - btn_icon: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_icon_unknown }} - {%- elif repeat.item.button_icon |length > 0 -%} {{ repeat.item.button_icon }} - {%- elif repeat.item.entity is match "light." -%} {{ button_icon_light }} - {%- elif repeat.item.entity is match "switch." -%} {{ button_icon_switch }} - {%- elif repeat.item.entity is match "input_boolean." -%} {{ button_icon_input_boolan }} - {%- elif repeat.item.entity is match "cover." -%} {{ button_icon_cover }} - {%- elif repeat.item.entity is match "automation." -%} {{ button_icon_automation }} - {%- elif repeat.item.entity is match "button." -%} {{ button_icon_button }} - {%- elif repeat.item.entity is match "input_button." -%} {{ button_icon_input_button }} - {%- elif repeat.item.entity is match "scene." -%} {{ button_icon_screne }} - {%- elif repeat.item.entity is match "script." -%} {{ button_icon_script }} - {%- elif repeat.item.entity is match "person." -%} {{ button_icon_person }} - {%- elif repeat.item.entity is match "binary_sensor." -%} {{ button_icon_binary_sensor }} - {%- elif repeat.item.entity is match "fan." -%} {{ button_icon_fan }} - {%- elif repeat.item.entity is match "climate." -%} {{ button_icon_climate }} - {%- endif -%} - # LABEL Value - btn_label: "{{ repeat.item.button_label }}" - # BRIGHTNESS Value - btn_bri_txt: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} 0 - {%- elif repeat.item.entity is match "light." and current_entity_state == '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 current_entity_state == 'open' and state_attr(repeat.item.entity, "current_position") != None -%} {{ (state_attr(repeat.item.entity, "current_position") | int(100)) | round(0) }}% - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' and state_attr(repeat.item.entity, "current_temperature") != None -%} {{ (state_attr(repeat.item.entity, "current_temperature") | int) | round(0) }}° - {%- else -%} 0 - {%- endif -%} - - ##### SET Buttons Background #### - # - ##### SET Button PIC ##### - - service: "{{ command_printf }}" - data: - cmd: "{{ repeat.item.button }}pic.pic={{ btn_pic }}" - ##### SET ICON Background ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_bg }}" - ##### SET LABEL Background ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_bg }}" - ##### SET BRIGHTNESS Background Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bg }}" - - ##### SET Buttons Font Color #### - # - ##### SET ICON Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_icon_font }}" - ##### SET LABEL Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_txt_font }}" - ##### SET BRIGHTNESS Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bri_font }}" - - ##### SET Buttons Text Value #### - # - ##### "ICON" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_icon }}" - ##### "LABEL" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_label }}" - - ##### "BRIGHTNESS" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - if: - - condition: template - value_template: "{{ btn_bri_txt == 0 }}" - then: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}bri" - message: " " - else: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bri_txt }}" - - ## PAGE BUTTONPAGE04 ## - - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage04 }}' - sequence: - - service: '{{ command_set_settings_entity }}' - data: - entity: 'unknown' - ##### Button Page Label ##### - - if: - - condition: template - value_template: '{{ button_page04_label |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "bpage04_label" - message: "{{ button_page04_label }}" - - ##### NSPanel build buttons ##### - - delay: - milliseconds: "{{ delay_value }}" - - repeat: - for_each: - - entity: "{{ entity25 }}" - button_icon: "{{ entity25_icon }}" - button_label: "{{ entity25_name }}" - button: buttonpage04.button01 - - entity: "{{ entity26 }}" - button_icon: "{{ entity26_icon }}" - button_label: "{{ entity26_name }}" - button: buttonpage04.button02 - - entity: "{{ entity27 }}" - button_icon: "{{ entity27_icon }}" - button_label: "{{ entity27_name }}" - button: buttonpage04.button03 - - entity: "{{ entity28 }}" - button_icon: "{{ entity28_icon }}" - button_label: "{{ entity28_name }}" - button: buttonpage04.button04 - - entity: "{{ entity29 }}" - button_icon: "{{ entity29_icon }}" - button_label: "{{ entity29_name }}" - button: buttonpage04.button05 - - entity: "{{ entity30 }}" - button_icon: "{{ entity30_icon }}" - button_label: "{{ entity30_name }}" - button: buttonpage04.button06 - - entity: "{{ entity31 }}" - button_icon: "{{ entity31_icon }}" - button_label: "{{ entity31_name }}" - button: buttonpage04.button07 - - entity: "{{ entity32 }}" - button_icon: "{{ entity32_icon }}" - button_label: "{{ entity32_name }}" - button: buttonpage04.button08 - sequence: - - if: - - condition: template - value_template: '{{ repeat.item.entity|length > 0 }}' - then: - - variables: - ### component_to_update: "{{ repeat.item.button }}" - current_entity_state: "{{ states[repeat.item.entity].state }}" - # Button PIC GRAY/WHITE - btn_pic: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_off }} - {%- elif repeat.item.entity is match "light." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "light." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "switch." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "switch." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "input_boolean." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "cover." and current_entity_state == 'open' -%} {{ button_on }} - {%- elif repeat.item.entity is match "cover." and current_entity_state == 'closed' -%} {{ button_off }} - {%- elif repeat.item.entity is match "automation." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "automation." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "button." -%} {{ button_off }} - {%- elif repeat.item.entity is match "input_button." -%} {{ button_off }} - {%- elif repeat.item.entity is match "scene." -%} {{ button_off }} - {%- elif repeat.item.entity is match "script." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "script." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ button_on }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ button_off }} - {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "binary_sensor." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "fan." and current_entity_state == 'on' -%} {{ button_on }} - {%- elif repeat.item.entity is match "fan." and current_entity_state == 'off' -%} {{ button_off }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ button_on }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ button_off }} - {%- endif -%} - # TEXT, BRIGHTNESS and ICON Background - btn_bg: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_02 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_01 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_02 }} - {%- endif -%} - # ICON Font Color - btn_icon_font: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_05 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_03 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_04 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_03 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_04 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_03 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_04 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_03 }} - {%- endif -%} - # LABEL Font Color - btn_txt_font: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ color_01 }} - {%- elif current_entity_state == 'on' or current_entity_state == 'open' -%} {{ color_02 }} - {%- elif current_entity_state == 'off' or current_entity_state == 'closed' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "person." and current_entity_state == 'home' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "person." and current_entity_state != 'home' -%} {{ color_01 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' -%} {{ color_02 }} - {%- elif repeat.item.entity is match "climate." and current_entity_state == 'off' -%} {{ color_01 }} - {%- endif -%} - # BRIGHTNESS Font Color - btn_bri_font: "{{ color_02 }}" - # ICON Value - btn_icon: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} {{ button_icon_unknown }} - {%- elif repeat.item.button_icon |length > 0 -%} {{ repeat.item.button_icon }} - {%- elif repeat.item.entity is match "light." -%} {{ button_icon_light }} - {%- elif repeat.item.entity is match "switch." -%} {{ button_icon_switch }} - {%- elif repeat.item.entity is match "input_boolean." -%} {{ button_icon_input_boolan }} - {%- elif repeat.item.entity is match "cover." -%} {{ button_icon_cover }} - {%- elif repeat.item.entity is match "automation." -%} {{ button_icon_automation }} - {%- elif repeat.item.entity is match "button." -%} {{ button_icon_button }} - {%- elif repeat.item.entity is match "input_button." -%} {{ button_icon_input_button }} - {%- elif repeat.item.entity is match "scene." -%} {{ button_icon_screne }} - {%- elif repeat.item.entity is match "script." -%} {{ button_icon_script }} - {%- elif repeat.item.entity is match "person." -%} {{ button_icon_person }} - {%- elif repeat.item.entity is match "binary_sensor." -%} {{ button_icon_binary_sensor }} - {%- elif repeat.item.entity is match "fan." -%} {{ button_icon_fan }} - {%- elif repeat.item.entity is match "climate." -%} {{ button_icon_climate }} - {%- endif -%} - # LABEL Value - btn_label: "{{ repeat.item.button_label }}" - # BRIGHTNESS Value - btn_bri_txt: >- - {%- if current_entity_state == 'unknown' or current_entity_state == 'unavailable' -%} 0 - {%- elif repeat.item.entity is match "light." and current_entity_state == '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 current_entity_state == 'open' and state_attr(repeat.item.entity, "current_position") != None -%} {{ (state_attr(repeat.item.entity, "current_position") | int(100)) | round(0) }}% - {%- elif repeat.item.entity is match "climate." and current_entity_state != 'off' and state_attr(repeat.item.entity, "current_temperature") != None -%} {{ (state_attr(repeat.item.entity, "current_temperature") | int) | round(0) }}° - {%- else -%} 0 - {%- endif -%} - - ##### SET Buttons Background #### - # - ##### SET Button PIC ##### - - service: "{{ command_printf }}" - data: - cmd: "{{ repeat.item.button }}pic.pic={{ btn_pic }}" - ##### SET ICON Background ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_bg }}" - ##### SET LABEL Background ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_bg }}" - ##### SET BRIGHTNESS Background Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_background_color }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bg }}" - - ##### SET Buttons Font Color #### - # - ##### SET ICON Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_icon_font }}" - ##### SET LABEL Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_txt_font }}" - ##### SET BRIGHTNESS Font Color ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_font_color }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bri_font }}" - - ##### SET Buttons Text Value #### - # - ##### "ICON" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}icon" - message: "{{ btn_icon }}" - ##### "LABEL" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}text" - message: "{{ btn_label }}" - - ##### "BRIGHTNESS" Value ##### - - delay: - milliseconds: "{{ delay_value }}" - - if: - - condition: template - value_template: "{{ btn_bri_txt == 0 }}" - then: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}bri" - message: " " - else: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.button }}bri" - message: "{{ btn_bri_txt }}" - - ## PAGE NOTIFICATION ## - - conditions: '{{ trigger.event.data.new_state.state == page_notification }}' - sequence: - - ## PAGE QR Code ## - - conditions: '{{ trigger.event.data.new_state.state == page_qrcode }}' - sequence: - - ## ENTITY PAGE 01 ## - - conditions: '{{ trigger.event.data.new_state.state == page_entitypage01 }}' - sequence: - ##### ENTITY Page Label ##### - - if: - - condition: template - value_template: '{{ entity_page01_label |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "entity01_label" - message: "{{ entity_page01_label }}" - ##### Entities ##### - - repeat: - for_each: - - row: entitypage01.value01 - entity: "{{ entities_entity01 }}" - entity_name: "{{ entities_entity01_name }}" - entity_icon: "{{ entities_entity01_icon }}" - - row: entitypage01.value02 - entity: "{{ entities_entity02 }}" - entity_name: "{{ entities_entity02_name }}" - entity_icon: "{{ entities_entity02_icon }}" - - row: entitypage01.value03 - entity: "{{ entities_entity03 }}" - entity_name: "{{ entities_entity03_name }}" - entity_icon: "{{ entities_entity03_icon }}" - - row: entitypage01.value04 - entity: "{{ entities_entity04 }}" - entity_name: "{{ entities_entity04_name }}" - entity_icon: "{{ entities_entity04_icon }}" - - row: entitypage01.value05 - entity: "{{ entities_entity05 }}" - entity_name: "{{ entities_entity05_name }}" - entity_icon: "{{ entities_entity05_icon }}" - - row: entitypage01.value06 - entity: "{{ entities_entity06 }}" - entity_name: "{{ entities_entity06_name }}" - entity_icon: "{{ entities_entity06_icon }}" - - row: entitypage01.value07 - entity: "{{ entities_entity07 }}" - entity_name: "{{ entities_entity07_name }}" - entity_icon: "{{ entities_entity07_icon }}" - - row: entitypage01.value08 - entity: "{{ entities_entity08 }}" - entity_name: "{{ entities_entity08_name }}" - entity_icon: "{{ entities_entity08_icon }}" - - sequence: - - if: - - condition: template - value_template: '{{ repeat.item.entity|length > 0 }}' - then: - - if: - - condition: template - value_template: '{{ repeat.item.entity_icon |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}_pic" - message: "{{ repeat.item.entity_icon }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}_label" - message: >- - {%- if repeat.item.entity_name |length > 0 -%} {{ repeat.item.entity_name }} - {%- elif states(repeat.item.entity) == 'unavailable' -%} {{ repeat.item.entity }} - {%- else -%} {{ state_attr(repeat.item.entity, "friendly_name")| default('no name') }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}" - #message: '{{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement")| default("") }}' - message: >- - {%- if state_attr(repeat.item.entity, "unit_of_measurement") == None -%} - {{ states(repeat.item.entity) }} - {%- else -%} - {{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement") }} - {%- endif -%} - - ## ENTITY PAGE 02 ## - - conditions: '{{ trigger.event.data.new_state.state == page_entitypage02 }}' - sequence: - ##### ENTITY Page Label ##### - - if: - - condition: template - value_template: '{{ entity_page02_label |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "entity02_label" - message: "{{ entity_page02_label }}" - ##### Entities ##### - - repeat: - for_each: - - row: entitypage02.value01 - entity: "{{ entities_entity09 }}" - entity_name: "{{ entities_entity09_name }}" - entity_icon: "{{ entities_entity09_icon }}" - - row: entitypage02.value02 - entity: "{{ entities_entity10 }}" - entity_name: "{{ entities_entity10_name }}" - entity_icon: "{{ entities_entity10_icon }}" - - row: entitypage02.value03 - entity: "{{ entities_entity11 }}" - entity_name: "{{ entities_entity11_name }}" - entity_icon: "{{ entities_entity11_icon }}" - - row: entitypage02.value04 - entity: "{{ entities_entity12 }}" - entity_name: "{{ entities_entity12_name }}" - entity_icon: "{{ entities_entity12_icon }}" - - row: entitypage02.value05 - entity: "{{ entities_entity13 }}" - entity_name: "{{ entities_entity13_name }}" - entity_icon: "{{ entities_entity13_icon }}" - - row: entitypage02.value06 - entity: "{{ entities_entity14 }}" - entity_name: "{{ entities_entity14_name }}" - entity_icon: "{{ entities_entity14_icon }}" - - row: entitypage02.value07 - entity: "{{ entities_entity15 }}" - entity_name: "{{ entities_entity15_name }}" - entity_icon: "{{ entities_entity15_icon }}" - - row: entitypage02.value08 - entity: "{{ entities_entity16 }}" - entity_name: "{{ entities_entity16_name }}" - entity_icon: "{{ entities_entity16_icon }}" - - sequence: - - if: - - condition: template - value_template: '{{ repeat.item.entity|length > 0 }}' - then: - - if: - - condition: template - value_template: '{{ repeat.item.entity_icon |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}_pic" - message: "{{ repeat.item.entity_icon }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}_label" - message: >- - {%- if repeat.item.entity_name |length > 0 -%} {{ repeat.item.entity_name }} - {%- elif states(repeat.item.entity) == 'unavailable' -%} {{ repeat.item.entity }} - {%- else -%} {{ state_attr(repeat.item.entity, "friendly_name")| default('no name') }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}" - #message: '{{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement")| default("") }}' - message: >- - {%- if state_attr(repeat.item.entity, "unit_of_measurement") == None -%} - {{ states(repeat.item.entity) }} - {%- else -%} - {{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement") }} - {%- endif -%} - - ## ENTITY PAGE 03 ## - - conditions: '{{ trigger.event.data.new_state.state == page_entitypage03 }}' - sequence: - ##### ENTITY Page Label ##### - - if: - - condition: template - value_template: '{{ entity_page03_label |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "entity03_label" - message: "{{ entity_page03_label }}" - ##### Entities ##### - - repeat: - for_each: - - row: entitypage03.value01 - entity: "{{ entities_entity17 }}" - entity_name: "{{ entities_entity17_name }}" - entity_icon: "{{ entities_entity17_icon }}" - - row: entitypage03.value02 - entity: "{{ entities_entity18 }}" - entity_name: "{{ entities_entity18_name }}" - entity_icon: "{{ entities_entity18_icon }}" - - row: entitypage03.value03 - entity: "{{ entities_entity19 }}" - entity_name: "{{ entities_entity19_name }}" - entity_icon: "{{ entities_entity19_icon }}" - - row: entitypage03.value04 - entity: "{{ entities_entity20 }}" - entity_name: "{{ entities_entity20_name }}" - entity_icon: "{{ entities_entity20_icon }}" - - row: entitypage03.value05 - entity: "{{ entities_entity21 }}" - entity_name: "{{ entities_entity21_name }}" - entity_icon: "{{ entities_entity21_icon }}" - - row: entitypage03.value06 - entity: "{{ entities_entity22 }}" - entity_name: "{{ entities_entity22_name }}" - entity_icon: "{{ entities_entity22_icon }}" - - row: entitypage03.value07 - entity: "{{ entities_entity23 }}" - entity_name: "{{ entities_entity23_name }}" - entity_icon: "{{ entities_entity23_icon }}" - - row: entitypage03.value08 - entity: "{{ entities_entity24 }}" - entity_name: "{{ entities_entity24_name }}" - entity_icon: "{{ entities_entity24_icon }}" - - sequence: - - if: - - condition: template - value_template: '{{ repeat.item.entity|length > 0 }}' - then: - - if: - - condition: template - value_template: '{{ repeat.item.entity_icon |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}_pic" - message: "{{ repeat.item.entity_icon }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}_label" - message: >- - {%- if repeat.item.entity_name |length > 0 -%} {{ repeat.item.entity_name }} - {%- elif states(repeat.item.entity) == 'unavailable' -%} {{ repeat.item.entity }} - {%- else -%} {{ state_attr(repeat.item.entity, "friendly_name")| default('no name') }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}" - #message: '{{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement")| default("") }}' - message: >- - {%- if state_attr(repeat.item.entity, "unit_of_measurement") == None -%} - {{ states(repeat.item.entity) }} - {%- else -%} - {{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement") }} - {%- endif -%} - - ## ENTITY PAGE 04 ## - - conditions: '{{ trigger.event.data.new_state.state == page_entitypage04 }}' - sequence: - ##### ENTITY Page Label ##### - - if: - - condition: template - value_template: '{{ entity_page04_label |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "entity04_label" - message: "{{ entity_page04_label }}" - ##### Entities ##### - - repeat: - for_each: - - row: entitypage04.value01 - entity: "{{ entities_entity25 }}" - entity_name: "{{ entities_entity25_name }}" - entity_icon: "{{ entities_entity25_icon }}" - - row: entitypage04.value02 - entity: "{{ entities_entity26 }}" - entity_name: "{{ entities_entity26_name }}" - entity_icon: "{{ entities_entity26_icon }}" - - row: entitypage04.value03 - entity: "{{ entities_entity27 }}" - entity_name: "{{ entities_entity27_name }}" - entity_icon: "{{ entities_entity27_icon }}" - - row: entitypage04.value04 - entity: "{{ entities_entity28 }}" - entity_name: "{{ entities_entity28_name }}" - entity_icon: "{{ entities_entity28_icon }}" - - row: entitypage04.value05 - entity: "{{ entities_entity29 }}" - entity_name: "{{ entities_entity29_name }}" - entity_icon: "{{ entities_entity29_icon }}" - - row: entitypage04.value06 - entity: "{{ entities_entity30 }}" - entity_name: "{{ entities_entity30_name }}" - entity_icon: "{{ entities_entity30_icon }}" - - row: entitypage04.value07 - entity: "{{ entities_entity31 }}" - entity_name: "{{ entities_entity31_name }}" - entity_icon: "{{ entities_entity31_icon }}" - - row: entitypage04.value08 - entity: "{{ entities_entity32 }}" - entity_name: "{{ entities_entity32_name }}" - entity_icon: "{{ entities_entity32_icon }}" - - sequence: - - if: - - condition: template - value_template: '{{ repeat.item.entity|length > 0 }}' - then: - - if: - - condition: template - value_template: '{{ repeat.item.entity_icon |length > 0 }}' - then: - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}_pic" - message: "{{ repeat.item.entity_icon }}" - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}_label" - message: >- - {%- if repeat.item.entity_name |length > 0 -%} {{ repeat.item.entity_name }} - {%- elif states(repeat.item.entity) == 'unavailable' -%} {{ repeat.item.entity }} - {%- else -%} {{ state_attr(repeat.item.entity, "friendly_name")| default('no name') }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: "{{ repeat.item.row }}" - #message: '{{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement")| default("") }}' - message: >- - {%- if state_attr(repeat.item.entity, "unit_of_measurement") == None -%} - {{ states(repeat.item.entity) }} - {%- else -%} - {{ states(repeat.item.entity) }} {{ state_attr(repeat.item.entity, "unit_of_measurement") }} - {%- endif -%} - - ##### Open Climate Settings ##### - - conditions: - - condition: trigger - id: open_climate_settings - sequence: - - if: - - condition: template - value_template: '{{ climate |length > 0 }}' - then: - - variables: - entity_long: '{{ climate }}' - entity_long_name: >- - {%- if states(climate) == 'unavailable' -%} {{ climate }} - {%- else -%} {{ state_attr(climate, "friendly_name")| default('no name') }} - {%- endif -%} - entity_back: '{{ page_home }}' - - service: '{{ command_set_settings_entity }}' + - service: "{{ command_thermostat_cycle }}" data: - entity: '{{ entity_long }},{{ entity_back }},{{ entity_long_name }}' + 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: " " - ##### CHIP 01 - Trigger - Statusbar 04 ##### - - conditions: - - condition: trigger - id: chip01_state - - condition: template - value_template: "{{ states(current_page) == page_home }}" - sequence: - - variables: - chip_icon: >- - {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip01_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_04 - message: "{{ chip_icon }}" - - ##### CHIP 02 - Trigger - Statusbar 05 ##### - - conditions: - - condition: trigger - id: chip02_state - - condition: template - value_template: "{{ states(current_page) == page_home }}" - sequence: - - variables: - chip_icon: >- - {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip02_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_05 - message: "{{ chip_icon }}" - - ##### CHIP 03 - Trigger - Statusbar 06 ##### - - conditions: - - condition: trigger - id: chip03_state - - condition: template - value_template: "{{ states(current_page) == page_home }}" - sequence: - - variables: - chip_icon: >- - {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip03_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_06 - message: "{{ chip_icon }}" - - ##### CHIP 04 - Trigger - Statusbar 07 ##### - - conditions: - - condition: trigger - id: chip04_state - - condition: template - value_template: "{{ states(current_page) == page_home }}" - sequence: - - variables: - chip_icon: >- - {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip04_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_07 - message: "{{ chip_icon }}" - - ##### CHIP 05 - Trigger - Statusbar 08 ##### - - conditions: - - condition: trigger - id: chip05_state - - condition: template - value_template: "{{ states(current_page) == page_home }}" - sequence: - - variables: - chip_icon: >- - {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip05_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_08 - message: "{{ chip_icon }}" - - ##### CHIP 06 - Trigger - Statusbar 09 ##### - - conditions: - - condition: trigger - id: chip06_state - - condition: template - value_template: "{{ states(current_page) == page_home }}" - sequence: - - variables: - chip_icon: >- - {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip06_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_09 - message: "{{ chip_icon }}" - - ##### CHIP 07 - Trigger - Statusbar 10 ##### - - conditions: - - condition: trigger - id: chip07_state - - condition: template - value_template: "{{ states(current_page) == page_home }}" - sequence: - - variables: - chip_icon: >- - {%- if trigger.event.data.new_state.state == 'on' -%} {{ chip07_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_10 - message: "{{ chip_icon }}" - - ##### Set Relay01-Symbol ##### - - conditions: - - condition: trigger - id: relay01_state - sequence: - - variables: - chip_relay01: >- - {%- if trigger.event.data.new_state.state == 'on' -%} {{ relay01_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_01 - message: "{{ chip_relay01 }}" - - ##### Set Relay02-Symbol ##### - - conditions: - - condition: trigger - id: relay02_state - sequence: - - variables: - chip_relay02: >- - {%- if trigger.event.data.new_state.state == 'on' -%} {{ relay02_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_02 - message: "{{ chip_relay02 }}" - - ##### Sync Hotwater Charge button-symbol ##### + ##### Sync Hotwater Charge button-symbol ##### -> kann wenn climate page fertig - conditions: - condition: trigger id: hotwatercharge_state - condition: template - value_template: '{{ states(current_page) == page_climate }}' + value_template: "{{ states(current_page) == page_climate }}" sequence: - variables: hotw_bt_pic: >- @@ -8781,95 +9953,39 @@ action: data: cmd: hotw_bt_pic.pic={{ hotw_bt_pic }} - ##### Sync Climate ##### + ##### Hotwater Temp ##### kann raus und wird durch neue value 01 und value 02 ersetzt wenn climate page fertig - conditions: - condition: trigger - id: climate_state + id: hotwatertemp_state - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unavailable' }}" - # - condition: template - # value_template: '{{ states(current_page) == page_climate }}' - # - condition: template - # value_template: '{{ climate_optimistic == false }}' + value_template: "{{ states(current_page) == page_climate and trigger.event.data.new_state.state != 'unavailable' }}" 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: 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 }} - - 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" }}' #### TODO AND->OR (not) not optimistic-mode - 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: - chip_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_icon }} - {%- elif trigger.event.data.new_state.state == "heat" -%} {{ thermostat_icon }} - {%- else -%} {{ blank_icon }} - {%- endif -%} - - service: "{{ command_text_printf }}" - data: - component: home.icon_top_03 - message: "{{ chip_climate }}" - - ##### Settings Entity changed -> open settings-page ##### + #### TFT Upload Automation ##### - conditions: - condition: trigger - id: settings_entity - - condition: template - value_template: "{{ trigger.event.data.new_state.state != 'unknown' }}" + id: tft_upload sequence: - - choose: - - conditions: '{{ entity_long is match "light." }}' - sequence: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_lightsettings }}" - - conditions: '{{ entity_long is match "cover." }}' - sequence: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_coversettings }}" - - conditions: '{{ entity_long is match "climate." }}' - sequence: - - service: "{{ command_printf }}" - data: - cmd: "page {{ page_climate }}" + - delay: + seconds: 2 + - service: "{{ tft_upload }}" + data: {} + ############################################################# diff --git a/nspanel_esphome.yaml b/nspanel_esphome.yaml index 0483015..9460d62 100644 --- a/nspanel_esphome.yaml +++ b/nspanel_esphome.yaml @@ -188,6 +188,13 @@ api: switch.is_on: nextion_init - lambda: 'id(disp1).show_component(component.c_str());' + ##### Service to send a command "show ALL componente" directly to the display ##### + - service: send_command_show_all ### unused ### + then: + - wait_until: + switch.is_on: nextion_init + - lambda: 'id(disp1).show_component("255");' + ##### Service to send a command "font color" directly to the display ##### - service: send_command_font_color variables: @@ -477,7 +484,7 @@ sensor: then: - lambda: id(disp1).set_component_text_printf("home.wifi_icon", "%s", "\U0000E5A8"); else: - - lambda: id(disp1).set_component_text_printf("home.wifi_icon", "%s", "\U00000E27"); + - lambda: id(disp1).set_component_text_printf("home.wifi_icon", "%s", "\U0000FFFF"); ##### INTERNAL TEMPERATURE SENSOR, ADC VALUE ##### - platform: adc