5913 lines
281 KiB
YAML
5913 lines
281 KiB
YAML
#############################################################
|
||
##### START - INPUT #####
|
||
#############################################################
|
||
|
||
blueprint:
|
||
name: NSPanel Configuration
|
||
description: '# Configuration and synchronization NSPanel via Blueprint
|
||
|
||
This project allows you to configure your complete NSPanel via a Blueprint with UI.
|
||
|
||
### *That means you dont have to customize any code or change any lines in the code.*
|
||
|
||
So you have a nice graphical interface where you can build your NSPanel.
|
||
And the best thing is, the installation takes only a few minutes.
|
||
|
||
|
||
The goal was to create a version that allows everyone to use the NSpanel fully local without having to deal with programming or reading hours of documentation - *AND YES WE DID IT!!!!* ;)
|
||
|
||
|
||
📕 Full documentation and installation video is available here [NSPanel Configuration, Setup and HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki).
|
||
|
||
🖼️ Home Assistant [Icon Page](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html)
|
||
|
||
|
||
📌 Step by Step - [Setup Video](https://www.youtube.com/watch?v=3afPFg6kUdc)
|
||
|
||
|
||
🚀 How to create "Issues" when I have a problem [WIKI HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki)
|
||
|
||
|
||
⭐ All Feature Requests can be found here [All Feature Request](https://github.com/Blackymas/NSPanel_HA_Blueprint/labels/new%20feature%20request)
|
||
|
||
|
||
🎉 Roadmap Roadmap can be found here [Roadmap](https://github.com/Blackymas/NSPanel_HA_Blueprint/labels/roadmap)
|
||
|
||
|
||
ℹ️ Version: v.3.2.3DEV
|
||
|
||
'
|
||
|
||
source_url: https://github.com/Blackymas/NSPanel_HA_Blueprint/blob/main/nspnael_blueprint.yaml
|
||
domain: automation
|
||
homeassistant:
|
||
min_version: 2022.11.1
|
||
input:
|
||
|
||
##### MAIN NAME #####
|
||
nspanel_name:
|
||
name: ESPhome Node Name
|
||
description: '* *"SYSTEM" - here you have to enter exactly the same **"device_name"** you entered in the Esphome file*'
|
||
default: [nspanel_name]
|
||
selector:
|
||
text: {}
|
||
|
||
##### SYSTEM SETTINGS #####
|
||
language:
|
||
name: Language for NSPanel
|
||
description: '* *"SYSTEM" - select the language for your NSPanel*'
|
||
default: 'ENG'
|
||
selector:
|
||
select:
|
||
mode: dropdown
|
||
options:
|
||
- label: 'Bulgarian'
|
||
value: BGR
|
||
- label: 'Czech'
|
||
value: CZE
|
||
- label: 'Danish'
|
||
value: DNK
|
||
- label: 'Dutch'
|
||
value: NLD
|
||
- label: 'English'
|
||
value: ENG
|
||
- label: 'Estonian'
|
||
value: EST
|
||
- label: 'Finnish'
|
||
value: FIN
|
||
- label: 'French'
|
||
value: FRA
|
||
- label: 'German'
|
||
value: DEU
|
||
- label: 'Greek'
|
||
value: GRC
|
||
- label: 'Hebrew'
|
||
value: HEB
|
||
- label: 'Hungarian'
|
||
value: HUN
|
||
- label: 'Indonesian'
|
||
value: IDN
|
||
- label: 'Italian'
|
||
value: ITA
|
||
- label: 'Latvian'
|
||
value: LVA
|
||
- label: 'Lithuanian'
|
||
value: LTU
|
||
- label: 'Norwegian'
|
||
value: NOR
|
||
- label: 'Polish'
|
||
value: POL
|
||
- label: 'Portuguese'
|
||
value: PRT
|
||
- label: 'Romanian'
|
||
value: ROU
|
||
- label: 'Russian'
|
||
value: RUS
|
||
- label: 'Swedish'
|
||
value: SWE
|
||
- label: 'Slovak'
|
||
value: SVK
|
||
- label: 'Slovene'
|
||
value: SVN
|
||
- label: 'Spanish'
|
||
value: ESP
|
||
- label: 'Turkish'
|
||
value: TUR
|
||
- label: 'Ukrainian'
|
||
value: UKR
|
||
date_format:
|
||
name: Date Format
|
||
description: '* *"SYSTEM" - select the format for date to display*'
|
||
default: '%d.%m'
|
||
selector:
|
||
select:
|
||
multiple: false
|
||
#mode: dropdown
|
||
options:
|
||
- label: 'DD.MM (ex. 22.03)'
|
||
value: '%d.%m'
|
||
- label: 'DD/MM (ex. 22/03)'
|
||
value: '%d/%m'
|
||
- label: 'D/M (ex. 22/3)'
|
||
value: '%-d/%-m'
|
||
- label: 'M/D (ex. 3/22)'
|
||
value: '%-m/%-d'
|
||
|
||
time_format:
|
||
name: Time Format
|
||
description: '* *"SYSTEM" - select the format for time to display*'
|
||
default: '%H:%M'
|
||
selector:
|
||
select:
|
||
multiple: false
|
||
#mode: dropdown
|
||
options:
|
||
- label: 'HH:MM (ex. 13:30)'
|
||
value: '%H:%M'
|
||
- label: 'H:MM AM/PM (ex. 1:30PM)'
|
||
value: '%-I:%M'
|
||
|
||
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
|
||
|
||
##### WEATHER - Page Home / Weather 01-04 #####
|
||
##### 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_entity:
|
||
name: Weather entity from HA
|
||
description: '* *"SYSTEM" - Select your weather entity.*'
|
||
default: []
|
||
selector:
|
||
entity:
|
||
domain:
|
||
- weather
|
||
|
||
##### Page Home #####
|
||
##### Temperature - 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: [255,255,255] #65535 White
|
||
selector: &color-selector
|
||
color_rgb:
|
||
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: [255,255,255] #65535 White
|
||
selector: *color-selector
|
||
home_indoor_temp_label_color:
|
||
name: Indoor Temperature Sensor - LABEL COLOR (Optional)
|
||
description: '* *Page "HOME" - Label color which should be displayed*'
|
||
default: [255,255,255] #65535 White
|
||
selector: *color-selector
|
||
##### Sensors - Page Home #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder02:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ SENSOR HOME PAGE ✅ '
|
||
default: 'sensor'
|
||
selector:
|
||
select:
|
||
options:
|
||
- sensor
|
||
##### PLACEHOLDER ######################################################################
|
||
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: &icon-selector
|
||
text: {}
|
||
home_value01_icon_color:
|
||
name: Sensor 01 - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed*'
|
||
default: [200,204,200] #52857 Grey super light
|
||
selector: *color-selector
|
||
home_value01_label_color:
|
||
name: Sensor 01 - LABEL COLOR (Optional)
|
||
description: '* *Page "HOME" - Label color which should be displayed*'
|
||
default: [200,204,200] #52857 Grey super light
|
||
selector: *color-selector
|
||
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: [200,204,200] #52857 Grey super light
|
||
selector: *color-selector
|
||
home_value02_label_color:
|
||
name: Sensor 02 - LABEL COLOR (Optional)
|
||
description: '* *Page "HOME" - Label color which should be displayed*'
|
||
default: [200,204,200] #52857 Grey super light
|
||
selector: *color-selector
|
||
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: *icon-selector
|
||
home_value03_icon_color:
|
||
name: Sensor 03 - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed*'
|
||
default: [200,204,200] #52857 Grey super light
|
||
selector: *color-selector
|
||
home_value03_label_color:
|
||
name: Sensor 03 - LABEL COLOR (Optional)
|
||
description: '* *Page "HOME" - Label color which should be displayed*'
|
||
default: [200,204,200] #52857 Grey super light
|
||
selector: *color-selector
|
||
##### Chips - Page Home #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder03:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ CHIPS ✅ '
|
||
default: 'chips'
|
||
selector:
|
||
select:
|
||
options:
|
||
- chips
|
||
##### PLACEHOLDER ######################################################################
|
||
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: &chip-entity-selector
|
||
entity:
|
||
domain:
|
||
- binary_sensor
|
||
- input_boolean
|
||
- light
|
||
- sensor
|
||
- 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: [128,128,128] #33808 Grey light
|
||
selector: *color-selector
|
||
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: *chip-entity-selector
|
||
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: *icon-selector
|
||
chip02_icon_color:
|
||
name: Chip 02 - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed*'
|
||
default: [128,128,128] #33808 Grey light
|
||
selector: *color-selector
|
||
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: *chip-entity-selector
|
||
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: *icon-selector
|
||
chip03_icon_color:
|
||
name: Chip 03 - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed*'
|
||
default: [128,128,128] #33808 Grey light
|
||
selector: *color-selector
|
||
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: *chip-entity-selector
|
||
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: *icon-selector
|
||
chip04_icon_color:
|
||
name: Chip 04 - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed*'
|
||
default: [128,128,128] #33808 Grey light
|
||
selector: *color-selector
|
||
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: *chip-entity-selector
|
||
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: *icon-selector
|
||
chip05_icon_color:
|
||
name: Chip 05 - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed*'
|
||
default: [128,128,128] #33808 Grey light
|
||
selector: *color-selector
|
||
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: *chip-entity-selector
|
||
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: *icon-selector
|
||
chip06_icon_color:
|
||
name: Chip 06 - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed*'
|
||
default: [128,128,128] #33808 Grey light
|
||
selector: *color-selector
|
||
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: *chip-entity-selector
|
||
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: *icon-selector
|
||
chip07_icon_color:
|
||
name: Chip 07 - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed*'
|
||
default: [128,128,128] #33808 Grey light
|
||
selector: *color-selector
|
||
|
||
##### Climate - Page Climate #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder04:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ CLIMATE ✅ '
|
||
default: 'climate'
|
||
selector:
|
||
select:
|
||
options:
|
||
- climate
|
||
##### PLACEHOLDER ######################################################################
|
||
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
|
||
|
||
##### QR Code - Page Home/QR Code #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder05:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ QR CODE ✅ '
|
||
default: 'qrcode'
|
||
selector:
|
||
select:
|
||
options:
|
||
- qrcode
|
||
##### PLACEHOLDER ######################################################################
|
||
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: *icon-selector
|
||
home_button05_icon_color:
|
||
name: QR Code - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*'
|
||
default: [200,204,200] #52857 Grey super light
|
||
selector: *color-selector
|
||
|
||
##### Page Home - Hardware Buttons #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder06:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ HARDWARE BUTTONS ✅ '
|
||
default: 'hardwarebuttons'
|
||
selector:
|
||
select:
|
||
options:
|
||
- hardwarebuttons
|
||
##### PLACEHOLDER ######################################################################
|
||
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: &hardware-button-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: &hardware-button-hold-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: [200,204,200] #52857 Grey super light
|
||
selector: *color-selector
|
||
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: *hardware-button-selector
|
||
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: *hardware-button-hold-selector
|
||
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: [200,204,200] #52857 Grey super light
|
||
selector: *color-selector
|
||
|
||
##### Button pages #####
|
||
##### Button page - Labels #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder17:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ BUTTON PAGES LABELS ✅ '
|
||
default: 'Button pages labels'
|
||
selector:
|
||
select:
|
||
options:
|
||
- Button pages labels
|
||
##### PLACEHOLDER ######################################################################
|
||
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: {}
|
||
##### Button page 01 #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder07:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ BUTTON PAGES 01 ✅ '
|
||
default: 'buttonpage01'
|
||
selector:
|
||
select:
|
||
options:
|
||
- buttonpage01
|
||
##### PLACEHOLDER ######################################################################
|
||
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: &button-entity-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: *icon-selector
|
||
entity01_icon_color:
|
||
name: Button 01 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity02_icon_color:
|
||
name: Button 02 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity03_icon_color:
|
||
name: Button 03 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity04_icon_color:
|
||
name: Button 04 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity05_icon_color:
|
||
name: Button 05 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity06_icon_color:
|
||
name: Button 06 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity07_icon_color:
|
||
name: Button 07 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity08_icon_color:
|
||
name: Button 08 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE01" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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:
|
||
##### Button page 02 #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder08:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ BUTTON PAGE 02 ✅ '
|
||
default: 'buttonpage02'
|
||
selector:
|
||
select:
|
||
options:
|
||
- buttonpage02
|
||
##### PLACEHOLDER ######################################################################
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity09_icon_color:
|
||
name: Button 09 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity10_icon_color:
|
||
name: Button 10 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity11_icon_color:
|
||
name: Button 11 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity12_icon_color:
|
||
name: Button 12 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity13_icon_color:
|
||
name: Button 13 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity14_icon_color:
|
||
name: Button 14 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity15_icon_color:
|
||
name: Button 15 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity16_icon_color:
|
||
name: Button 16 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE02" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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:
|
||
##### Button page 03 #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder09:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ BUTTON PAGE 03 ✅ '
|
||
default: 'buttonpage03'
|
||
selector:
|
||
select:
|
||
options:
|
||
- buttonpage03
|
||
##### PLACEHOLDER ######################################################################
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity17_icon_color:
|
||
name: Button 17 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity18_icon_color:
|
||
name: Button 18 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity19_icon_color:
|
||
name: Button 19 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity20_icon_color:
|
||
name: Button 20 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity21_icon_color:
|
||
name: Button 21 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity22_icon_color:
|
||
name: Button 22 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity23_icon_color:
|
||
name: Button 23 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity24_icon_color:
|
||
name: Button 24 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE03" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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:
|
||
##### Button page 04 #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder10:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ BUTTON PAGE 04 ✅ '
|
||
default: 'buttonpage04'
|
||
selector:
|
||
select:
|
||
options:
|
||
- buttonpage04
|
||
##### PLACEHOLDER ######################################################################
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity25_icon_color:
|
||
name: Button 25 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity26_icon_color:
|
||
name: Button 26 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity27_icon_color:
|
||
name: Button 27 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity28_icon_color:
|
||
name: Button 28 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity29_icon_color:
|
||
name: Button 29 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity30_icon_color:
|
||
name: Button 30 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
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: *icon-selector
|
||
entity31_icon_color:
|
||
name: Button 31 - ICON COLOR (Optional)
|
||
description: '* *Page "BUTTONPAGE04" - Icon color which should be displayed when button is on*'
|
||
default: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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: *button-entity-selector
|
||
entity32_name:
|
||
name: Button 32 name - LABEL (Optional)
|
||
description: '* *Page "BUTTONPAGE04" - Label which should be displayed (10 characters are supported)*'
|
||
default: []
|
||
selector: *icon-selector
|
||
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: [0,128,248] #1055 Blue
|
||
selector: *color-selector
|
||
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:
|
||
|
||
##### Entity pages #####
|
||
##### Entity pages - Config #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder11:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ ENTITY PAGE SETTINGS ✅ '
|
||
default: 'entitypage'
|
||
selector:
|
||
select:
|
||
options:
|
||
- entitypage
|
||
##### PLACEHOLDER ######################################################################
|
||
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: *icon-selector
|
||
home_button06_icon_color:
|
||
name: Entity page - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*'
|
||
default: [200,204,200] #52857 Grey super light
|
||
selector: *color-selector
|
||
##### Entity pages - Labels #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder12:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ ENTITY PAGE 01 ✅ '
|
||
default: 'entitypage01'
|
||
selector:
|
||
select:
|
||
options:
|
||
- entitypage01
|
||
##### PLACEHOLDER ######################################################################
|
||
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: {}
|
||
##### Entity page 01 - 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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
##### Entity page 02 - Entities #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder13:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ ENTITY PAGE 02 ✅ '
|
||
default: 'entitypage02'
|
||
selector:
|
||
select:
|
||
options:
|
||
- entitypage02
|
||
##### PLACEHOLDER ######################################################################
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
##### Entity page 03 - Entities #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder14:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ ENTITY PAGE 03 ✅ '
|
||
default: 'entitypage03'
|
||
selector:
|
||
select:
|
||
options:
|
||
- entitypage03
|
||
##### PLACEHOLDER ######################################################################
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
##### Entity page 04 - Entities #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder15:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ ENTITY PAGE 04 ✅ '
|
||
default: 'entitypage04'
|
||
selector:
|
||
select:
|
||
options:
|
||
- entitypage04
|
||
##### PLACEHOLDER ######################################################################
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
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: *icon-selector
|
||
|
||
##### General Custom Design #####
|
||
##### PLACEHOLDER ######################################################################
|
||
placeholder16:
|
||
name: 'Is only a placeholder without function for a better overview'
|
||
description: '# ✅ CUSTOM CONFIGURATION ✅ '
|
||
default: 'configuration'
|
||
selector:
|
||
select:
|
||
options:
|
||
- configuration
|
||
##### PLACEHOLDER ######################################################################
|
||
home_button04_icon:
|
||
name: Notification - ICON (Optional)
|
||
description: '* *Page "HOME" - Icon which should be displayed (Default #E1ED) *'
|
||
default: #E1ED
|
||
selector: *icon-selector
|
||
home_button04_icon_color01:
|
||
name: Notification read - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*'
|
||
default: [200,204,200] #52857 Grey super light #Grey super light
|
||
selector: *color-selector
|
||
home_button04_icon_color02:
|
||
name: Notification unread - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*'
|
||
default: [248,0,0] #63488 Red
|
||
selector: *color-selector
|
||
relay01_icon:
|
||
name: Relay 01 - ICON (Optional)
|
||
description: '* *Page "HOME" - Icon which should be displayed (Default #E3A5) *'
|
||
default: #E3A5
|
||
selector: *icon-selector
|
||
relay01_icon_color:
|
||
name: Relay 01 - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*'
|
||
default: [128,128,128] #33808 Grey light
|
||
selector: *color-selector
|
||
relay02_icon:
|
||
name: Relay 02 - ICON (Optional)
|
||
description: '* *Page "HOME" - Icon which should be displayed (Default #E3A8) *'
|
||
default: #E3A8
|
||
selector: *icon-selector
|
||
relay02_icon_color:
|
||
name: Relay - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*'
|
||
default: [128,128,128] #33808 Grey light
|
||
selector: *color-selector
|
||
thermostat_icon:
|
||
name: Thermostat - ICON (Optional)
|
||
description: '* *Page "HOME" - Icon which should be displayed (Default #E50E) *'
|
||
default: #E50E
|
||
selector: *icon-selector
|
||
heat_icon:
|
||
name: Thermostat - ICON (Optional)
|
||
description: '* *Page "HOME" - Icon which should be displayed (Default #E50F) *'
|
||
default: #E50F
|
||
selector: *icon-selector
|
||
thermostat_icon_color:
|
||
name: Thermostat / Heat - ICON COLOR (Optional)
|
||
description: '* *Page "HOME" - Icon color which should be displayed (default color is set)*'
|
||
default: [128,128,128] #33808 Grey light
|
||
selector: *color-selector
|
||
time_label_color:
|
||
name: Time - LABEL COLOR (Optional)
|
||
description: '* *Page "HOME" - Label color which should be displayed (default color is set)*'
|
||
default: [255,255,255] #65535 White
|
||
selector: *color-selector
|
||
date_label_color:
|
||
name: Date - LABEL COLOR (Optional)
|
||
description: '* *Page "HOME" - Label color which should be displayed (default color is set)*'
|
||
default: [255,255,255] #65535 White
|
||
selector: *color-selector
|
||
|
||
###### 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: {}
|
||
sync_value_ha:
|
||
name: Synchronization of all values (Optional)
|
||
description: '* *Synchronization of values between HA and NSPanel for Lightsetting and Coversetting Page -> Maybe causes number jumps*'
|
||
default: 'select_no'
|
||
selector: &sync-selector-bool
|
||
select:
|
||
options:
|
||
- label: 'No'
|
||
value: select_no
|
||
- label: 'Yes'
|
||
value: select_yes
|
||
sync_slider_ha:
|
||
name: Synchronization of all Sliders (Optional)
|
||
description: '* *Synchronization of sliders between HA and NSPanel for Lightsetting and Coversetting Page -> Maybe causes flickering on the Slider*'
|
||
default: 'select_no'
|
||
selector: *sync-selector-bool
|
||
|
||
#############################################################
|
||
##### CLOSE - INPUT #####
|
||
#############################################################
|
||
|
||
mode: parallel
|
||
max: 5000
|
||
trace:
|
||
stored_traces: 10
|
||
|
||
#############################################################
|
||
##### START - Variables #####
|
||
#############################################################
|
||
|
||
trigger_variables:
|
||
nspanel_name: !input "nspanel_name"
|
||
last_click: "sensor.{{ nspanel_name }}_last_click"
|
||
last_click_lightsettings: "sensor.{{ nspanel_name }}_last_click_lightsettings"
|
||
last_click_coversettings: "sensor.{{ nspanel_name }}_last_click_coversettings"
|
||
last_click_climatesettings: "sensor.{{ nspanel_name }}_last_click_climatesettings"
|
||
left_button: "binary_sensor.{{ nspanel_name }}_left_button"
|
||
right_button: "binary_sensor.{{ nspanel_name }}_right_button"
|
||
weather_forcast_button: "binary_sensor.{{ nspanel_name }}_weather_forcast"
|
||
nextion_inited_trigger: "switch.{{ nspanel_name }}_nextion_inited"
|
||
# current_page: "sensor.{{ nspanel_name }}_current_page"
|
||
current_page: "sensor.{{ nspanel_name }}_currentpage"
|
||
hotwatercharge: !input "hotwatercharge"
|
||
display_target_temperature: "sensor.{{ nspanel_name }}_display_target_temperature"
|
||
relay01_entity: "switch.{{ nspanel_name }}_relay_1"
|
||
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"
|
||
notification_text: "sensor.{{ nspanel_name }}_notification_text"
|
||
notification_label: "sensor.{{ nspanel_name }}_notification_label"
|
||
|
||
variables:
|
||
##### GENERAL #####
|
||
blueprint_version: "3.2.3DEV"
|
||
language: !input "language"
|
||
time_format: !input "time_format"
|
||
time: "{{ as_timestamp(now()) | timestamp_custom(time_format) }}"
|
||
meridiem: "{{ as_timestamp(now()) | timestamp_custom('%p') if time_format == '%-I:%M' else '' }}"
|
||
sun_is_up: "{{ is_state('sun.sun', 'above_horizon') }}"
|
||
|
||
notification_sound: "switch.{{ nspanel_name }}_notification_sound"
|
||
confirmation_message: "switch.{{ nspanel_name }}_confirmation_message"
|
||
|
||
##### Nextion dict ####
|
||
nextion:
|
||
colors:
|
||
blue: "1055" # rgb(0,128,248)
|
||
grey_dark: "10597" # rgb(40,44,40)
|
||
grey_light: "33808" # rgb(128,128,128)
|
||
grey_super_light: "52857" # rgb(200,204,200)
|
||
red: "63488" # rgb(248,0,0)
|
||
white: "65535" # rgb(255,255,255)
|
||
yellow: "65472" # rgb(248,248,0)
|
||
commands:
|
||
text_printf: "esphome.{{ nspanel_name }}_send_command_text_printf"
|
||
value: "esphome.{{ nspanel_name }}_send_command_value"
|
||
printf: "esphome.{{ nspanel_name }}_send_command_printf"
|
||
font_color: "esphome.{{ nspanel_name }}_send_command_font_color"
|
||
background_color: "esphome.{{ nspanel_name }}_send_command_background_color"
|
||
thermostat_cycle: "esphome.{{ nspanel_name }}_send_thermostat_cycle_state"
|
||
notification_show: "esphome.{{ nspanel_name }}_notification_show"
|
||
notification_clear: "esphome.{{ nspanel_name }}_notification_clear"
|
||
play_rtttl: "esphome.{{ nspanel_name }}_play_rtttl"
|
||
set_settings_entity: "esphome.{{ nspanel_name }}_set_settings_entity"
|
||
show_all: "esphome.{{ nspanel_name }}_send_command_show_all"
|
||
tft_upload: "esphome.{{ nspanel_name }}_upload_tft"
|
||
set_button: "esphome.{{ nspanel_name }}_set_button"
|
||
icons:
|
||
battery: "\U0000F2A1" #F2A1
|
||
blank: "\U0000FFFF" #blank macbook bug
|
||
buttons:
|
||
automation: "\U0000F6FC" #F6FC
|
||
binary_sensor: "\U0000E7C0" #E7C0
|
||
button: "\U0000ED76" #ED76
|
||
climate: "\U0000E392" #E392
|
||
cover: "\U0000E0AB" #E0AB
|
||
fan: "\U0000E20F" #E20F
|
||
input_boolean: "\U0000EA19" #EA19
|
||
input_button: "\U0000F2A7" #F2A7
|
||
light: "\U0000E334" #E334
|
||
person: "\U0000E003" #E003
|
||
scene: "\U0000EE0B" #EE0B
|
||
script: "\U0000F45D" #F45D
|
||
switch: "\U0000E97D" #E97D
|
||
unknown: "\U00000E27" #E027
|
||
weather:
|
||
lightning: "\U0000E592" #E592
|
||
protect: "\U0000F05C" #F05C
|
||
rain: "\U0000E595" #E595
|
||
sun: "\U0000E5A7" #E5A7
|
||
wind: "\U0000E59C" #E59C
|
||
pages:
|
||
home: "home"
|
||
weatherpages:
|
||
- "weather01"
|
||
- "weather02"
|
||
- "weather03"
|
||
- "weather04"
|
||
- "weather05"
|
||
climate: "climate"
|
||
settings: "settings"
|
||
boot: "boot"
|
||
screensaver: "screensaver"
|
||
light: "lightsettings"
|
||
cover: "coversettings"
|
||
buttonpages:
|
||
- "buttonpage01"
|
||
- "buttonpage02"
|
||
- "buttonpage03"
|
||
- "buttonpage04"
|
||
notification: "notification"
|
||
qrcode: "qrcode"
|
||
entitypages:
|
||
- "entitypage01"
|
||
- "entitypage02"
|
||
- "entitypage03"
|
||
- "entitypage04"
|
||
current: "{{ states(current_page) | default('unavailable') if current_page is string else 'unavailable' }}"
|
||
pics:
|
||
hvac:
|
||
button:
|
||
blank: "79"
|
||
'off': "80"
|
||
'on': "81"
|
||
unknown: "79"
|
||
hardware:
|
||
button:
|
||
"off": "77"
|
||
"on": "78"
|
||
button:
|
||
'off': "101"
|
||
'on': "102"
|
||
heating:
|
||
button:
|
||
"off": "82"
|
||
"on": "83"
|
||
weather:
|
||
sunny: "{{ '2' if sun_is_up else '15'}}" #some weather providers returns 'sunny' for 'clear-night'
|
||
cloudy: "3"
|
||
rainy: "4"
|
||
pouring: "5"
|
||
snowy: "6"
|
||
hail: "7"
|
||
snowy_rainy: "7"
|
||
fog: "8"
|
||
windy: "9"
|
||
windy_variant: "9"
|
||
windy-variant: "9"
|
||
lightning: "10"
|
||
partlycloudy: "{{ '11' if sun_is_up else '12'}}"
|
||
lightning_rainy: "{{ '13' if sun_is_up else '14'}}"
|
||
execptional: "{{ '13' if sun_is_up else '14'}}"
|
||
clear_night: "15"
|
||
clear-night: "15"
|
||
unknown: ''
|
||
unavailable: ''
|
||
|
||
##### MUI Multilingual User Interface #####
|
||
mui:
|
||
BGR:
|
||
weekdays:
|
||
mon: Понеделник
|
||
tue: Вторник
|
||
wed: Сряда
|
||
thu: Четвъртък
|
||
fri: Петък
|
||
sat: Събота
|
||
sun: Неделя
|
||
relative_day:
|
||
today: Днес
|
||
tomorrow: Утре
|
||
in_2_days: за 2 дни
|
||
in_3_days: за 3 дни
|
||
in_4_days: за 4 дни
|
||
climate:
|
||
states:
|
||
"on": на
|
||
"off": изключване
|
||
heat: топлина
|
||
please_confirm: Моля, потвърдете
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
CZE:
|
||
weekdays:
|
||
mon: Pondělí
|
||
tue: Úterý
|
||
wed: Středa
|
||
thu: Čtvrtek
|
||
fri: Pátek
|
||
sat: Sobota
|
||
sun: Neděle
|
||
relative_day:
|
||
today: Dnes
|
||
tomorrow: Zítra
|
||
in_2_days: za 2 dny
|
||
in_3_days: za 3 dny
|
||
in_4_days: za 4 dny
|
||
climate:
|
||
states:
|
||
"on": zapnuto
|
||
"off": vypnuto
|
||
heat: topení
|
||
please_confirm: Potvrďte prosím
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
DEU:
|
||
weekdays:
|
||
mon: Montag
|
||
tue: Dienstag
|
||
wed: Mittwoch
|
||
thu: Donnerstag
|
||
fri: Freitag
|
||
sat: Samstag
|
||
sun: Sonntag
|
||
relative_day:
|
||
today: Heute
|
||
tomorrow: Morgen
|
||
in_2_days: in 2 Tagen
|
||
in_3_days: in 3 Tagen
|
||
in_4_days: in 4 Tagen
|
||
climate:
|
||
states:
|
||
"on": ein
|
||
"off": aus
|
||
heat: heizen
|
||
please_confirm: Bitte bestätigen
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
DNK:
|
||
weekdays:
|
||
mon: Mandag
|
||
tue: Tirsdag
|
||
wed: Onsdag
|
||
thu: Torsdag
|
||
fri: Fredag
|
||
sat: Lørdag
|
||
sun: Søndag
|
||
relative_day:
|
||
today: I dag
|
||
tomorrow: I morgen
|
||
in_2_days: om 2 dage
|
||
in_3_days: om 3 dage
|
||
in_4_days: om 4 dage
|
||
climate:
|
||
states:
|
||
"on": på
|
||
"off": off
|
||
heat: varme
|
||
please_confirm: Bekræft venligst
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
ENG:
|
||
weekdays:
|
||
mon: Monday
|
||
tue: Tuesday
|
||
wed: Wednesday
|
||
thu: Thursday
|
||
fri: Friday
|
||
sat: Saturday
|
||
sun: Sunday
|
||
relative_day:
|
||
today: Today
|
||
tomorrow: Tomorrow
|
||
in_2_days: In 2 days
|
||
in_3_days: In 3 days
|
||
in_4_days: In 4 days
|
||
climate:
|
||
states:
|
||
"on": on
|
||
"off": off
|
||
heat: heat
|
||
please_confirm: Please confirm
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
ESP:
|
||
weekdays:
|
||
mon: Lunes
|
||
tue: Martes
|
||
wed: Miércoles
|
||
thu: Jueves
|
||
fri: Viernes
|
||
sat: Sábado
|
||
sun: Domingo
|
||
relative_day:
|
||
today: Hoy
|
||
tomorrow: Mañana
|
||
in_2_days: En 2 días
|
||
in_3_days: En 3 días
|
||
in_4_days: En 4 días
|
||
climate:
|
||
states:
|
||
"on": Encendido
|
||
"off": Apagado
|
||
heat: calor
|
||
please_confirm: Por favor, confirme
|
||
unavailable: Indisponible
|
||
no_name: Sin nombre
|
||
EST:
|
||
weekdays:
|
||
mon: Esmaspäev
|
||
tue: Teisipäev
|
||
wed: Kolmapäev
|
||
thu: Neljapäev
|
||
fri: Reede
|
||
sat: Laupäev
|
||
sun: Pühapäev
|
||
relative_day:
|
||
today: Täna
|
||
tomorrow: Homme
|
||
in_2_days: 2 päeva pärast
|
||
in_3_days: 3 päeva pärast
|
||
in_4_days: 4 päeva pärast
|
||
climate:
|
||
states:
|
||
"on": aadressil
|
||
"off": välja
|
||
heat: soojus
|
||
please_confirm: Palun kinnitage
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
FIN:
|
||
weekdays:
|
||
mon: Maanantai
|
||
tue: Tiistai
|
||
wed: Keskiviikko
|
||
thu: Torstai
|
||
fri: Perjantai
|
||
sat: Lauantai
|
||
sun: Sunnuntai
|
||
relative_day:
|
||
today: Tänään
|
||
tomorrow: Huomenna
|
||
in_2_days: 2 päivän päästä
|
||
in_3_days: 3 päivän päästä
|
||
in_4_days: 4 päivän päästä
|
||
climate:
|
||
states:
|
||
"on": osoitteessa
|
||
"off": off
|
||
heat: lämpö
|
||
please_confirm: Vahvistakaa
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
FRA:
|
||
weekdays:
|
||
mon: Lundi
|
||
tue: Mardi
|
||
wed: Mercredi
|
||
thu: Jeudi
|
||
fri: Vendredi
|
||
sat: Samedi
|
||
sun: Dimanche
|
||
relative_day:
|
||
today: Aujourd hui
|
||
tomorrow: Demain
|
||
in_2_days: Dans 2 jours
|
||
in_3_days: Dans 3 jours
|
||
in_4_days: Dans 4 jours
|
||
climate:
|
||
states:
|
||
"on": on
|
||
"off": off
|
||
heat: Chaleur
|
||
please_confirm: Veuillez confirmer
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
GRC:
|
||
weekdays:
|
||
mon: Δευτέρα
|
||
tue: Τρίτη
|
||
wed: Τετάρτη
|
||
thu: Πέμπτη
|
||
fri: Παρασκευή
|
||
sat: Σάββατο
|
||
sun: Κυριακή
|
||
relative_day:
|
||
today: Σήμερα
|
||
tomorrow: Αύριο
|
||
in_2_days: σε 2 ημέρες
|
||
in_3_days: σε 3 ημέρες
|
||
in_4_days: σε 4 ημέρες
|
||
climate:
|
||
states:
|
||
"on": Ενεργό
|
||
"off": Ανενεργό
|
||
heat: Θέρμανση
|
||
please_confirm: Παρακαλώ επιβεβαιώστε
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
HEB:
|
||
weekdays:
|
||
mon: ינש
|
||
tue: ישילש
|
||
wed: יעיבר
|
||
thu: ישימח
|
||
fri: ישיש
|
||
sat: תבש
|
||
sun: ןושאר
|
||
relative_day:
|
||
today: םויה
|
||
tomorrow: רחמ
|
||
in_2_days: םיימוי דוע
|
||
in_3_days: םימי 3 דוע
|
||
in_4_days: םימי 4 דוע
|
||
climate:
|
||
states:
|
||
"on": קולד
|
||
"off": יובכ
|
||
heat: םוח
|
||
please_confirm: רשא השקבב
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
HUN:
|
||
weekdays:
|
||
mon: Hétfő
|
||
tue: Kedd
|
||
wed: Szerda
|
||
thu: Csütörtök
|
||
fri: Péntek
|
||
sat: Szombat
|
||
sun: Vasárnap
|
||
relative_day:
|
||
today: Ma
|
||
tomorrow: Holnap
|
||
in_2_days: 2 nap múlva
|
||
in_3_days: 3 nap múlva
|
||
in_4_days: 4 nap múlva
|
||
climate:
|
||
states:
|
||
"on": a oldalon
|
||
"off": off
|
||
heat: hő
|
||
please_confirm: Kérjük, erősítse meg
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
IDN:
|
||
weekdays:
|
||
mon: Senin
|
||
tue: Selasa
|
||
wed: Rabu
|
||
thu: Kamis
|
||
fri: Jumat
|
||
sat: Sabtu
|
||
sun: Minggu
|
||
relative_day:
|
||
today: Hari ini
|
||
tomorrow: Besok
|
||
in_2_days: dalam 2 Hari
|
||
in_3_days: dalam 3 Hari
|
||
in_4_days: dalam 4 Hari
|
||
climate:
|
||
states:
|
||
"on": on
|
||
"off": off
|
||
heat: panas
|
||
please_confirm: Mohon konfirmasi
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
ITA:
|
||
weekdays:
|
||
mon: Lunedì
|
||
tue: Martedì
|
||
wed: Mercoledì
|
||
thu: Giovedì
|
||
fri: Venerdì
|
||
sat: Sabato
|
||
sun: Domenica
|
||
relative_day:
|
||
today: Oggi
|
||
tomorrow: Domani
|
||
in_2_days: in 2 giorni
|
||
in_3_days: in 3 giorni
|
||
in_4_days: in 4 giorni
|
||
climate:
|
||
states:
|
||
"on": on
|
||
"off": off
|
||
heat: caldo
|
||
please_confirm: Confermare
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
LTU:
|
||
weekdays:
|
||
mon: Pirmadienis
|
||
tue: Antradienis
|
||
wed: Trečiadienis
|
||
thu: Ketvirtadienis
|
||
fri: Penktadienis
|
||
sat: Šeštadienis
|
||
sun: Sekmadienis
|
||
relative_day:
|
||
today: Šiandien
|
||
tomorrow: Rytoj
|
||
in_2_days: per 2 dienas
|
||
in_3_days: per 3 dienas
|
||
in_4_days: per 4 dienas
|
||
climate:
|
||
states:
|
||
"on": svetainėje
|
||
"off": išjungta
|
||
heat: šiluma
|
||
please_confirm: Prašome patvirtinti
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
LVA:
|
||
weekdays:
|
||
mon: Pirmdiena
|
||
tue: Otrdiena
|
||
wed: Trešdiena
|
||
thu: Ceturtdiena
|
||
fri: Piektdiena
|
||
sat: Sestdiena
|
||
sun: Svētdiena
|
||
relative_day:
|
||
today: Šodien
|
||
tomorrow: Rīt
|
||
in_2_days: pēc 2 dienām
|
||
in_3_days: pēc 3 dienām
|
||
in_4_days: pēc 4 dienām
|
||
climate:
|
||
states:
|
||
"on": vietnē
|
||
"off": izslēgts
|
||
heat: siltums
|
||
please_confirm: Lūdzu, apstipriniet
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
NLD:
|
||
weekdays:
|
||
mon: Maandag
|
||
tue: Dinsdag
|
||
wed: Woensdag
|
||
thu: Donderdag
|
||
fri: Vrijdag
|
||
sat: Zaterdag
|
||
sun: Zondag
|
||
relative_day:
|
||
today: Vandaag
|
||
tomorrow: Morgen
|
||
in_2_days: in 2 dagen
|
||
in_3_days: in 3 dagen
|
||
in_4_days: in 4 dagen
|
||
climate:
|
||
states:
|
||
"on": aan
|
||
"off": uit
|
||
heat: verwarm
|
||
please_confirm: Bevestig alstublieft
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
NOR:
|
||
weekdays:
|
||
mon: Mandag
|
||
tue: Tirsdag
|
||
wed: Onsdag
|
||
thu: Torsdag
|
||
fri: Fredag
|
||
sat: Lørdag
|
||
sun: Søndag
|
||
relative_day:
|
||
today: I dag
|
||
tomorrow: I morgen
|
||
in_2_days: om 2 dager
|
||
in_3_days: om 3 dager
|
||
in_4_days: om 4 dager
|
||
climate:
|
||
states:
|
||
"on": på
|
||
"off": av
|
||
heat: varme
|
||
please_confirm: Vennligst bekreft
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
POL:
|
||
weekdays:
|
||
mon: Poniedziałek
|
||
tue: Wtorek
|
||
wed: Środa
|
||
thu: Czwartek
|
||
fri: Piątek
|
||
sat: Sobota
|
||
sun: Niedziela
|
||
relative_day:
|
||
today: Dzisiaj
|
||
tomorrow: Jutro
|
||
in_2_days: za 2 dni
|
||
in_3_days: za 3 dni
|
||
in_4_days: za 4 dni
|
||
climate:
|
||
states:
|
||
"on": na
|
||
"off": off
|
||
heat: ciepło
|
||
please_confirm: Proszę o potwierdzenie
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
PRT:
|
||
weekdays:
|
||
mon: Segunda-feira
|
||
tue: Terça-feira
|
||
wed: Quarta-feira
|
||
thu: Quinta-feira
|
||
fri: Sexta-feira
|
||
sat: Sábado
|
||
sun: Domingo
|
||
relative_day:
|
||
today: Hoje
|
||
tomorrow: Amanhã
|
||
in_2_days: Em 2 dias
|
||
in_3_days: Em 3 dias
|
||
in_4_days: Em 4 dias
|
||
climate:
|
||
states:
|
||
"on": Ligado
|
||
"off": Desligado
|
||
heat: Aquecimento
|
||
please_confirm: Confirme, por favor
|
||
unavailable: Indisponível
|
||
no_name: Sem nome
|
||
ROU:
|
||
weekdays:
|
||
mon: Luni
|
||
tue: Marți
|
||
wed: Miercuri
|
||
thu: Joi
|
||
fri: Vineri
|
||
sat: Sâmbătă
|
||
sun: Duminică
|
||
relative_day:
|
||
today: Astăzi
|
||
tomorrow: Mâine
|
||
in_2_days: în 2 zile
|
||
in_3_days: în 3 zile
|
||
in_4_days: în 4 zile
|
||
climate:
|
||
states:
|
||
"on": pe
|
||
"off": off
|
||
heat: căldură
|
||
please_confirm: Vă rugăm să confirmați
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
RUS:
|
||
weekdays:
|
||
mon: Понедельник
|
||
tue: Вторник
|
||
wed: Среда
|
||
thu: Четверг
|
||
fri: Пятница
|
||
sat: Суббота
|
||
sun: Воскресение
|
||
relative_day:
|
||
today: Сегодня
|
||
tomorrow: Завтра
|
||
in_2_days: на 2 дня
|
||
in_3_days: на 3 дня
|
||
in_4_days: на 4 дня
|
||
climate:
|
||
states:
|
||
"on": включено
|
||
"off": выключено
|
||
heat: нагрев
|
||
please_confirm: Пожалуйста, подтвердите
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
SVK:
|
||
weekdays:
|
||
mon: Pondelok
|
||
tue: Utorok
|
||
wed: Streda
|
||
thu: Štvrtok
|
||
fri: Piatok
|
||
sat: Sobota
|
||
sun: Nedeľa
|
||
relative_day:
|
||
today: Dnes
|
||
tomorrow: Zajtra
|
||
in_2_days: o 2 dni
|
||
in_3_days: o 3 dni
|
||
in_4_days: o 4 dni
|
||
climate:
|
||
states:
|
||
"on": zapnuté
|
||
"off": vypnuté
|
||
heat: kúrenie
|
||
please_confirm: Potvrďte, prosím
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
SVN:
|
||
weekdays:
|
||
mon: Ponedeljek
|
||
tue: Torek
|
||
wed: Sreda
|
||
thu: Četrtek
|
||
fri: Petek
|
||
sat: Sobota
|
||
sun: Nedelja
|
||
relative_day:
|
||
today: Danes
|
||
tomorrow: Jutri
|
||
in_2_days: v 2 dneh
|
||
in_3_days: v 3 dneh
|
||
in_4_days: v 4 dneh
|
||
climate:
|
||
states:
|
||
"on": na
|
||
"off": izklop
|
||
heat: toplota
|
||
please_confirm: Prosimo, potrdite
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
SWE:
|
||
weekdays:
|
||
mon: Måndag
|
||
tue: Tisdag
|
||
wed: Onsdag
|
||
thu: Torsdag
|
||
fri: Fredag
|
||
sat: Lördag
|
||
sun: Söndag
|
||
relative_day:
|
||
today: Idag
|
||
tomorrow: Imorgon
|
||
in_2_days: om 2 dagar
|
||
in_3_days: om 3 dagar
|
||
in_4_days: om 4 dagar
|
||
climate:
|
||
states:
|
||
"on": på
|
||
"off": av
|
||
heat: värme
|
||
please_confirm: Vänligen bekräfta
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
TUR:
|
||
weekdays:
|
||
mon: Pazartesi
|
||
tue: Salı
|
||
wed: Çarşamba
|
||
thu: Perşembe
|
||
fri: Cuma
|
||
sat: Cumartesi
|
||
sun: Pazar
|
||
relative_day:
|
||
today: Bugün
|
||
tomorrow: Yarın
|
||
in_2_days: 2 Gün İçinde
|
||
in_3_days: 3 Gün İçinde
|
||
in_4_days: 4 Gün İçinde
|
||
climate:
|
||
states:
|
||
"on": üzerinde
|
||
"off": kapalı
|
||
heat: ısı
|
||
please_confirm: Lütfen onaylayın
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
UKR:
|
||
weekdays:
|
||
mon: Понеділок
|
||
tue: Вівторок
|
||
wed: середа
|
||
thu: четвер
|
||
fri: п ятниця
|
||
sat: Субота
|
||
sun: Неділя
|
||
relative_day:
|
||
today: Сьогодні
|
||
tomorrow: Завтра
|
||
in_2_days: через 2 дні
|
||
in_3_days: через 3 дні
|
||
in_4_days: через 2 дні
|
||
climate:
|
||
states:
|
||
"on": увімк
|
||
"off": вимк
|
||
heat: нагрів
|
||
please_confirm: Будь ласка, підтвердіть
|
||
unavailable: Unavailable
|
||
no_name: No name
|
||
|
||
##### WEATHER ####
|
||
weather_entity: !input "weather_entity" # used only during the creation of weather in variables
|
||
|
||
##### Home page #####
|
||
page_home:
|
||
buttons: ### Feature Buttons ###
|
||
- icon: '' # NOT IN USE
|
||
color_rgb:
|
||
'on': '' # NOT IN USE
|
||
'off': '' # NOT IN USE
|
||
- icon: '' # NOT IN USE
|
||
color_rgb:
|
||
'on': '' # NOT IN USE
|
||
'off': '' # NOT IN USE
|
||
- icon: '' # NOT IN USE
|
||
color_rgb:
|
||
'on': '' # NOT IN USE
|
||
'off': '' # NOT IN USE
|
||
- icon: !input "home_button04_icon" #E1ED
|
||
color_rgb:
|
||
'on': !input "home_button04_icon_color01"
|
||
'off': !input "home_button04_icon_color02"
|
||
- icon: !input "home_button05_icon" #E432
|
||
color_rgb:
|
||
'on': !input "home_button05_icon_color"
|
||
'off': '' # NOT IN USE
|
||
- icon: !input "home_button06_icon" #EDCF
|
||
color_rgb:
|
||
'on': !input "home_button06_icon_color"
|
||
'off': '' # NOT IN USE
|
||
- icon: '' # NOT IN USE
|
||
color_rgb:
|
||
'on': '' # NOT IN USE
|
||
'off': '' # NOT IN USE
|
||
general:
|
||
outdoor_temp:
|
||
label:
|
||
color_rgb: !input "home_outdoor_temp_label_color"
|
||
indoor_temp:
|
||
icon:
|
||
icon: !input "home_indoor_temp_icon" #E50E
|
||
color_rgb: !input "home_indoor_temp_icon_color"
|
||
label:
|
||
color_rgb: !input "home_indoor_temp_label_color"
|
||
time:
|
||
label:
|
||
color_rgb: !input "time_label_color"
|
||
date:
|
||
label:
|
||
color_rgb: !input "date_label_color"
|
||
hardware:
|
||
buttons: #### HARDWARE BUTTONS #####
|
||
left:
|
||
entity: !input "left_button_entity"
|
||
name: !input "left_button_name"
|
||
color_rgb: !input "left_button_color"
|
||
hold_select: !input "left_button_hold_select"
|
||
#sequence: !input left_button_hold_custom_action
|
||
right:
|
||
entity: !input "right_button_entity"
|
||
name: !input "right_button_name"
|
||
color_rgb: !input "right_button_color"
|
||
hold_select: !input "right_button_hold_select"
|
||
#sequence: !input right_button_hold_custom_action
|
||
qrcode_enabled: !input "qrcode_enabled"
|
||
|
||
###### SYNC SETTINGS #####
|
||
#delay_boot: !input "delay" # NOT IN USE
|
||
delay_value: !input "delay"
|
||
#delay_jump_page: !input "delay" # NOT IN USE
|
||
#sync_slider_ha: !input "sync_slider_ha" # NOT IN USE
|
||
#sync_value_ha: !input "sync_value_ha" # NOT IN USE
|
||
climate_optimistic: !input "climate_optimistic"
|
||
|
||
##### GENERAL ENTITYS #####
|
||
hotwatertemp: !input "hotwatertemp"
|
||
outdoortemp: !input "outdoortemp"
|
||
indoortemp: !input "indoortemp"
|
||
climate: !input "climate"
|
||
relay_1_local_fallback: !input "relay_1_local_fallback"
|
||
relay_2_local_fallback: !input "relay_2_local_fallback"
|
||
|
||
##### ENTITIES #####
|
||
entitypages_enabled: !input "entitypages_enabled"
|
||
|
||
#############################################################
|
||
##### CLOSE - Variables #####
|
||
#############################################################
|
||
|
||
|
||
#############################################################
|
||
##### START - Trigger #####
|
||
#############################################################
|
||
|
||
trigger:
|
||
|
||
##### Trigger - General #################################################################################################################
|
||
|
||
###### DELME - Trigger "nspanel_boot_init" ######
|
||
- platform: state
|
||
entity_id: input_boolean.trigger_nspanel_boot
|
||
to: 'on'
|
||
id: nspanel_boot_init
|
||
|
||
##### Reboot - Trigger "nspanel_boot_init" #####
|
||
- platform: template
|
||
value_template: "{{ is_state(nextion_inited_trigger, 'on') | default(false) if nextion_inited_trigger is string else false }}"
|
||
for:
|
||
seconds: 1
|
||
id: nspanel_boot_init
|
||
|
||
##### settings_entity - Trigger "settings_entity" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: "{{ settings_entity }}"
|
||
id: settings_entity
|
||
|
||
##### Automation reload
|
||
- platform: event
|
||
event_type: automation_reloaded
|
||
id: automation_reloaded
|
||
|
||
##### TFT Upload - Trigger "tft_upload" #####
|
||
- platform: event
|
||
event_type: folder_watcher
|
||
event_data:
|
||
event_type: modified
|
||
path: !input "tft_path"
|
||
id: tft_upload
|
||
|
||
##### Time - Trigger "time_state" #####
|
||
- platform: time_pattern
|
||
minutes: "/1"
|
||
id: time_state
|
||
|
||
#### Weather state changed #######
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "weather_entity"
|
||
id: weather_state_change
|
||
|
||
##### HOME Value 01 - Trigger "home_value01_state" #####
|
||
- platform: state
|
||
entity_id: !input "home_value01"
|
||
not_to:
|
||
- unknown
|
||
- unavailable
|
||
id: home_value01_state
|
||
|
||
##### HOME Value 01 - Trigger "home_value02_state" #####
|
||
- platform: state
|
||
entity_id: !input "home_value02"
|
||
not_to:
|
||
- unknown
|
||
- unavailable
|
||
id: home_value02_state
|
||
|
||
##### HOME Value 01 - Trigger "home_value03_state" #####
|
||
- platform: state
|
||
entity_id: !input "home_value03"
|
||
not_to:
|
||
- unknown
|
||
- unavailable
|
||
id: home_value03_state
|
||
|
||
##### Climate - Trigger "climate_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "climate"
|
||
id: climate_state
|
||
|
||
##### Hot Water - Trigger "hotwatertemp_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "hotwatertemp"
|
||
id: hotwatertemp_state
|
||
|
||
##### Outdoor Temp - Trigger "outdoortemp_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "outdoortemp"
|
||
id: outdoortemp_state
|
||
|
||
##### indoor Temp Sensor - Trigger "indoortemp_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "indoortemp"
|
||
id: indoortemp_state
|
||
|
||
##### NSPAnel Temp Sensor - Trigger "nspaneltemp_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: "{{ nspaneltemp }}"
|
||
id: nspaneltemp_state
|
||
|
||
##### Hot Water Charge - Trigger "hotwatercharge_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "hotwatercharge"
|
||
id: hotwatercharge_state
|
||
|
||
##### Chip 01 - Trigger "chip01_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "chip01"
|
||
id: chip01_state
|
||
|
||
##### Chip 02 - Trigger "chip02_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "chip02"
|
||
id: chip02_state
|
||
|
||
##### Chip 03 - Trigger "chip03_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "chip03"
|
||
id: chip03_state
|
||
|
||
##### Chip 04 - Trigger "chip04_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "chip04"
|
||
id: chip04_state
|
||
|
||
##### Chip 05 - Trigger "chip05_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "chip05"
|
||
id: chip05_state
|
||
|
||
##### Chip 06 - Trigger "chip06_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "chip06"
|
||
id: chip06_state
|
||
|
||
##### Chip 07 - Trigger "chip07_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: !input "chip07"
|
||
id: chip07_state
|
||
|
||
##### Relay01 - Trigger "relay01_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: "{{ relay01_entity }}"
|
||
id: relay01_state
|
||
|
||
##### Relay02 - Trigger "relay02_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: "{{ relay02_entity }}"
|
||
id: relay02_state
|
||
|
||
##### Left Button - Trigger "left_button_press" #####
|
||
- platform: template
|
||
value_template: "{{ is_state(left_button, 'on') | default(false) if left_button is string else false }}"
|
||
id: left_button_press
|
||
|
||
##### Right Button - Trigger "right_button_press" #####
|
||
- platform: template
|
||
value_template: "{{ is_state(right_button, 'on') | default(false) if right_button is string else false }}"
|
||
id: right_button_press
|
||
|
||
##### Left Button - State "left_button_state" #####
|
||
- platform: state
|
||
entity_id: !input "left_button_entity"
|
||
to:
|
||
- 'on'
|
||
- 'off'
|
||
id: left_button_state
|
||
|
||
##### Right Button - State "right_button_state" #####
|
||
- platform: state
|
||
entity_id: !input "right_button_entity"
|
||
to:
|
||
- 'on'
|
||
- 'off'
|
||
id: right_button_state
|
||
|
||
##### Notification Text - Trigger "notification_text_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: "{{ notification_text }}"
|
||
id: notification_text_state
|
||
|
||
##### Notification Text - Trigger "notification_text_state" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: "{{ notification_unread }}"
|
||
id: notification_unread_state
|
||
|
||
#### Show notification - Trigger ####
|
||
- platform: template
|
||
value_template: "{{ is_state(last_click, 'homebutton04release') | default(false) if last_click is string else false }}"
|
||
id: open_notification_page
|
||
|
||
#### Notification clear - Trigger ####
|
||
- platform: template
|
||
value_template: "{{ (states(last_click) | default('unavailable') is match 'notificationclearrelease') if last_click is string else false }}"
|
||
id: btn_notificationclearrelease
|
||
|
||
#### Notification accept - Trigger ####
|
||
- platform: template
|
||
value_template: "{{ (states(last_click) | default('unavailable') is match 'notificationacceptrelease') if last_click is string else false }}"
|
||
id: btn_notificationacceptrelease
|
||
|
||
#### Show QR code - Trigger ####
|
||
- platform: template
|
||
value_template: "{{ (states(last_click) | default('unavailable') is match 'homebutton05release') if last_click is string else false }}"
|
||
id: open_qrcode_page
|
||
|
||
#### Show ENTITIES - Trigger ####
|
||
- platform: template
|
||
value_template: "{{ (states(last_click) | default('unavailable') is match 'homebutton06release') if last_click is string else false }}"
|
||
id: open_entity_page
|
||
|
||
#### Show Climate - Trigger ####
|
||
- platform: template
|
||
value_template: "{{ (states(last_click) | default('unavailable') is match 'weatherpagerelease') if last_click is string else false }}"
|
||
id: open_weather_page
|
||
|
||
#### Climate - Trigger ####
|
||
- platform: template
|
||
value_template: "{{ (states(last_click) | default('unavailable') is match 'climaterelease') if last_click is string else false }}"
|
||
id: open_climate_page
|
||
|
||
##### Trigger - Button General #################################################################################################################
|
||
|
||
##### Page Button - Trigger "short_press" - SHORT Press via "last_click" #####
|
||
- platform: template
|
||
value_template: "{{ (states(last_click) | default('unavailable') is match 'releasebutton') if last_click is string else false }}"
|
||
id: short_press
|
||
|
||
##### Page Button - Trigger "long_press" - LONG Press via "last_click" - Button LONG Press for jump to Lightsetting or Coversetting Page #####
|
||
- platform: template
|
||
value_template: "{{ (states(last_click) | default('unavailable') is match 'press') if last_click is string else false }}"
|
||
for:
|
||
seconds: 1
|
||
id: long_press
|
||
|
||
##### Page Lightsettings - Trigger "light_settings" - Changes Lightsettings Page via "last_click_lightsettings" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: "{{ last_click_lightsettings }}"
|
||
id: light_settings
|
||
|
||
##### Page Coversettings - Trigger "cover_settings" - Changes Coversettings Page via "last_click_coversettings" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: "{{ last_click_coversettings }}"
|
||
id: cover_settings
|
||
|
||
##### Page Climatesettings - Trigger "climate_settings" - Changes Climatesettings Page via "last_click_climatesettings" #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: "{{ last_click_climatesettings }}"
|
||
id: climate_settings
|
||
|
||
##### Current page changed #####
|
||
- platform: event
|
||
event_type: state_changed
|
||
event_data:
|
||
entity_id: "{{ current_page }}"
|
||
id: current_page_changed
|
||
|
||
##### Page Button - Trigger "button_page" Entity sync #####
|
||
- platform: template
|
||
value_template: "{{ (states(last_click) | default('unavailable') is match 'button') if last_click is string else false }}"
|
||
id: button_page
|
||
|
||
|
||
|
||
##### Trigger - Button State change #################################################################################################################
|
||
|
||
##### Button01 Sync - Trigger "current_state_entity01" #####
|
||
- platform: state
|
||
entity_id: !input "entity01"
|
||
id: current_state_entity01
|
||
|
||
##### Button02 Sync - Trigger "current_state_entity02" #####
|
||
- platform: state
|
||
entity_id: !input "entity02"
|
||
id: current_state_entity02
|
||
|
||
##### Button03 Sync - Trigger "current_state_entity03" #####
|
||
- platform: state
|
||
entity_id: !input "entity03"
|
||
id: current_state_entity03
|
||
|
||
##### Button04 Sync - Trigger "current_state_entity04" #####
|
||
- platform: state
|
||
entity_id: !input "entity04"
|
||
id: current_state_entity04
|
||
|
||
##### Button05 Sync - Trigger "current_state_entity05" #####
|
||
- platform: state
|
||
entity_id: !input "entity05"
|
||
id: current_state_entity05
|
||
|
||
##### Button06 Sync - Trigger "current_state_entity06" #####
|
||
- platform: state
|
||
entity_id: !input "entity06"
|
||
id: current_state_entity06
|
||
|
||
##### Button07 Sync - Trigger "current_state_entity07" #####
|
||
- platform: state
|
||
entity_id: !input "entity07"
|
||
id: current_state_entity07
|
||
|
||
##### Button08 Sync - Trigger "current_state_entity08" #####
|
||
- platform: state
|
||
entity_id: !input "entity08"
|
||
id: current_state_entity08
|
||
|
||
##### Button09 Sync - Trigger "current_state_entity09" #####
|
||
- platform: state
|
||
entity_id: !input "entity09"
|
||
id: current_state_entity09
|
||
|
||
##### Button10 Sync - Trigger "current_state_entity10" #####
|
||
- platform: state
|
||
entity_id: !input "entity10"
|
||
id: current_state_entity10
|
||
|
||
##### Button11 Sync - Trigger "current_state_entity11" #####
|
||
- platform: state
|
||
entity_id: !input "entity11"
|
||
id: current_state_entity11
|
||
|
||
##### Button12 Sync - Trigger "current_state_entity12" #####
|
||
- platform: state
|
||
entity_id: !input "entity12"
|
||
id: current_state_entity12
|
||
|
||
##### Button13 Sync - Trigger "current_state_entity13" #####
|
||
- platform: state
|
||
entity_id: !input "entity13"
|
||
id: current_state_entity13
|
||
|
||
##### Button14 Sync - Trigger "current_state_entity14" #####
|
||
- platform: state
|
||
entity_id: !input "entity14"
|
||
id: current_state_entity14
|
||
|
||
##### Button15 Sync - Trigger "current_state_entity15" #####
|
||
- platform: state
|
||
entity_id: !input "entity15"
|
||
id: current_state_entity15
|
||
|
||
##### Button16 Sync - Trigger "current_state_entity16" #####
|
||
- platform: state
|
||
entity_id: !input "entity16"
|
||
id: current_state_entity16
|
||
|
||
##### Button17 Sync - Trigger "current_state_entity17" #####
|
||
- platform: state
|
||
entity_id: !input "entity17"
|
||
id: current_state_entity17
|
||
|
||
##### Button18 Sync - Trigger "current_state_entity18" #####
|
||
- platform: state
|
||
entity_id: !input "entity18"
|
||
id: current_state_entity18
|
||
|
||
##### Button19 Sync - Trigger "current_state_entity19" #####
|
||
- platform: state
|
||
entity_id: !input "entity19"
|
||
id: current_state_entity19
|
||
|
||
##### Button20 Sync - Trigger "current_state_entity20" #####
|
||
- platform: state
|
||
entity_id: !input "entity20"
|
||
id: current_state_entity20
|
||
|
||
##### Button21 Sync - Trigger "current_state_entity21" #####
|
||
- platform: state
|
||
entity_id: !input "entity21"
|
||
id: current_state_entity21
|
||
|
||
##### Button22 Sync - Trigger "current_state_entity22" #####
|
||
- platform: state
|
||
entity_id: !input "entity22"
|
||
id: current_state_entity22
|
||
|
||
##### Button23 Sync - Trigger "current_state_entity23" #####
|
||
- platform: state
|
||
entity_id: !input "entity23"
|
||
id: current_state_entity23
|
||
|
||
##### Button24 Sync - Trigger "current_state_entity24" #####
|
||
- platform: state
|
||
entity_id: !input "entity24"
|
||
id: current_state_entity24
|
||
|
||
##### Button25 Sync - Trigger "current_state_entity25" #####
|
||
- platform: state
|
||
entity_id: !input "entity25"
|
||
id: current_state_entity25
|
||
|
||
##### Button26 Sync - Trigger "current_state_entity26" #####
|
||
- platform: state
|
||
entity_id: !input "entity26"
|
||
id: current_state_entity26
|
||
|
||
##### Button27 Sync - Trigger "current_state_entity27" #####
|
||
- platform: state
|
||
entity_id: !input "entity27"
|
||
id: current_state_entity27
|
||
|
||
##### Button28 Sync - Trigger "current_state_entity28" #####
|
||
- platform: state
|
||
entity_id: !input "entity28"
|
||
id: current_state_entity28
|
||
|
||
##### Button29 Sync - Trigger "current_state_entity29" #####
|
||
- platform: state
|
||
entity_id: !input "entity29"
|
||
id: current_state_entity29
|
||
|
||
##### Button30 Sync - Trigger "current_state_entity30" #####
|
||
- platform: state
|
||
entity_id: !input "entity30"
|
||
id: current_state_entity30
|
||
|
||
##### Button31 Sync - Trigger "current_state_entity31" #####
|
||
- platform: state
|
||
entity_id: !input "entity31"
|
||
id: current_state_entity31
|
||
|
||
##### Button32 Sync - Trigger "current_state_entity32" #####
|
||
- platform: state
|
||
entity_id: !input "entity32"
|
||
id: current_state_entity32
|
||
|
||
|
||
#############################################################
|
||
##### CLOSE - Trigger #####
|
||
#############################################################
|
||
|
||
condition: "{{ is_state(nextion_inited_trigger, 'on') | default(false) if nextion_inited_trigger is string else false }}"
|
||
|
||
#############################################################
|
||
##### START - Action #####
|
||
#############################################################
|
||
action:
|
||
- variables:
|
||
#settings_entity_value: "{{ states(settings_entity) }}"
|
||
settings_entity_value: "{{ states(settings_entity) | default('unavailable') if settings_entity is string else 'unavailable' }}"
|
||
settings_entity_split: "{{ settings_entity_value.split(',') if settings_entity_value is string and settings_entity_value not in ['unavailable', 'unknown', None] else [] }}"
|
||
settings_entity_count: "{{ settings_entity_split | count if settings_entity_split else 0 }}"
|
||
entity_long: "{{ settings_entity_split[0] if settings_entity_count >= 1 else 'unknown' }}"
|
||
entity_back: "{{ settings_entity_split[1] if settings_entity_count >= 2 else 'unknown' }}"
|
||
entity_long_name: "{{ settings_entity_split[2] if settings_entity_count >= 3 else 'unknown' }}"
|
||
entity_long_icon: "{{ settings_entity_split[3] if settings_entity_count >= 4 else 'unknown' }}"
|
||
entity_long_icon_color: "{{ settings_entity_split[4] if settings_entity_count >= 5 else 'unknown' }}"
|
||
entity_long_domain: "{{ entity_long.split('.')[0] if entity_long.split('.') | count > 0 else 'unknown' }}"
|
||
|
||
########################################################################################################################
|
||
|
||
# main - alias: "choose alias (name)"
|
||
- alias: Main choices
|
||
choose:
|
||
##### JUMP TO - settings page lightsettings /coversettings / climate (SETTINGS ENTITY CHANGED) #####
|
||
- alias: "Jump to light/cover/climate settings page"
|
||
conditions:
|
||
- condition: trigger
|
||
id: settings_entity
|
||
- "{{ trigger.event.data.new_state.state not in ['unavailable', 'unknown', None] }}"
|
||
- "{{ entity_long_domain in ['light', 'cover', 'climate'] }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ nextion.pages[entity_long_domain] }}"
|
||
|
||
##### BOOT NSPANEL - boot init #####
|
||
- alias: Boot init
|
||
conditions:
|
||
- condition: trigger
|
||
id: nspanel_boot_init
|
||
- "{{ nextion.pages.current != nextion.pages.home or (is_state(last_click, ['unavailable', 'unknown', None]) | default(False) if last_click is string else False) }}"
|
||
sequence:
|
||
##### NSPanel boot init only #####
|
||
- delay:
|
||
milliseconds: 100
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: boot.bluep_version
|
||
message: "{{ blueprint_version }}"
|
||
|
||
###### Set local fallback ######
|
||
- service: "switch.turn_{{ 'on' if relay_1_local_fallback else 'off' }}"
|
||
data:
|
||
entity_id: 'switch.{{ nspanel_name }}_relay_1_local_fallback'
|
||
- service: "switch.turn_{{ 'on' if relay_2_local_fallback else 'off' }}"
|
||
data:
|
||
entity_id: 'switch.{{ nspanel_name }}_relay_2_local_fallback'
|
||
|
||
##### clear notification icon #####
|
||
- service: "{{ nextion.commands.notification_clear }}"
|
||
data: {}
|
||
|
||
###### NSPanel beep ######
|
||
- delay:
|
||
milliseconds: 2000
|
||
- if: "{{ is_state(notification_sound, 'on') }}"
|
||
then:
|
||
- service: "{{ nextion.commands.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-default
|
||
delay:
|
||
milliseconds: "{{ delay_value }}"
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: page home
|
||
|
||
##### PAGE CHANGED - changes when page changed #####
|
||
- alias: Page changed
|
||
conditions:
|
||
- condition: trigger
|
||
id: current_page_changed
|
||
sequence:
|
||
##### climate-page left - apply climate temperature if climate_optimistic ##### ## TODO - remove from here
|
||
- if: "{{ trigger.event.data.old_state.state == nextion.pages.climate and climate_optimistic }}"
|
||
then:
|
||
- variables:
|
||
display_target_temperature_state: "{{ states(display_target_temperature) | default('unavailable') if display_target_temperature is string else 'unavailable' }}"
|
||
- if: "{{ is_number(display_target_temperature_state) }}"
|
||
then:
|
||
- service: climate.set_temperature
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
#hvac_mode: 'heat'
|
||
temperature: "{{ display_target_temperature_state }}"
|
||
- choose:
|
||
## PAGE HOME ##
|
||
- alias: Home page
|
||
conditions: "{{ trigger.event.data.new_state.state == nextion.pages.home }}"
|
||
sequence: &refresh_page_home
|
||
- &variables-weather
|
||
variables:
|
||
weather_attribution: "{{ state_attr(weather_entity, 'attribution') | default('unavailable') if weather_entity is string else 'unavailable' }}"
|
||
weather_type: >
|
||
{% if 'AccuWeather' in weather_attribution %} AccuWeather
|
||
{% elif 'OpenWeatherMap' in weather_attribution %} OpenWeather
|
||
{% elif 'SMHI' in weather_attribution %} SMHI
|
||
{% elif 'met.no' in weather_attribution %} Met.no
|
||
{% elif 'OpenWeatherMap' in weather_attribution %} OpenWeather
|
||
{% else %} Other
|
||
{% endif %}
|
||
weather_units:
|
||
hours_of_sun: "{{ state_attr(weather_entity, 'hours_of_sun_unit') | default('h') if weather_entity is string and state_attr(weather_entity, 'hours_of_sun_unit') else 'h' }}"
|
||
precipitation: "{{ state_attr(weather_entity, 'precipitation_unit') | default('mm') if weather_entity is string and state_attr(weather_entity, 'precipitation_unit') else 'mm' }}"
|
||
precipitation_probability: "{{ state_attr(weather_entity, 'precipitation_probability_unit') | default('%') if weather_entity is string and state_attr(weather_entity, 'precipitation_probability_unit') else '%' }}"
|
||
pressure: "{{ state_attr(weather_entity, 'pressure_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'pressure_unit') }}"
|
||
temperature: "{{ state_attr(weather_entity, 'temperature_unit') | default('°') if weather_entity is string and state_attr(weather_entity, 'temperature_unit') else '°' }}"
|
||
thunderstorm_probability: "{{ state_attr(weather_entity, 'thunderstorm_probability_unit') | default('%') if weather_entity is string and state_attr(weather_entity, 'thunderstorm_probability_unit') else '%' }}"
|
||
uv_index: "{{ state_attr(weather_entity, 'uv_index_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'uv_index_unit') }}"
|
||
visibility: "{{ state_attr(weather_entity, 'visibility_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'visibility_unit') }}"
|
||
wind_speed: "{{ state_attr(weather_entity, 'wind_speed_unit') | default('') if weather_entity is string and state_attr(weather_entity, 'wind_speed_unit') }}"
|
||
|
||
- service: "{{ nextion.commands.set_settings_entity }}"
|
||
data:
|
||
entity: 'unknown'
|
||
##### NSPanel Date #####
|
||
### DATE Font Color ###
|
||
- &variables-date_format
|
||
variables:
|
||
date_format: !input "date_format"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.date
|
||
message: "{{ page_home.general.date.label.color_rgb if is_number(page_home.general.date.label.color_rgb) else ((page_home.general.date.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.date.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.date.label.color_rgb[2] //(2**3)) }}"
|
||
### DATE Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.date
|
||
message: "{{ (dict.values(mui[language].weekdays) | list)[now().weekday()] ~ ', ' ~ as_timestamp(now()) | timestamp_custom(date_format) }}"
|
||
##### NSPanel Time #####
|
||
### TIME Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.time
|
||
message: "{{ page_home.general.time.label.color_rgb if is_number(page_home.general.time.label.color_rgb) else ((page_home.general.time.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.time.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.time.label.color_rgb[2] //(2**3)) }}"
|
||
### TIME Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.time
|
||
message: "{{ time }}"
|
||
### TIME Meridiem Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.meridiem
|
||
message: "{{ page_home.general.time.label.color_rgb if is_number(page_home.general.time.label.color_rgb) else ((page_home.general.time.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.time.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.time.label.color_rgb[2] //(2**3)) }}"
|
||
### TIME Meridiem Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.meridiem
|
||
message: "{{ meridiem }}"
|
||
|
||
##### NSPanel Outdoor Temp #####
|
||
- variables:
|
||
outdoor_temp_state: "{{ states(outdoortemp) | default('unavailable') if outdoortemp is string else 'unavailable' }}"
|
||
outdoor_temp: "{{ outdoor_temp_state if is_number(outdoor_temp_state) else state_attr(weather_entity, 'temperature') | default('unavailable') if weather_entity is string else 'unavailable' }}"
|
||
### LABEL Outdoor Temp Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.outdoor_temp
|
||
message: "{{ page_home.general.outdoor_temp.label.color_rgb if is_number(page_home.general.outdoor_temp.label.color_rgb) else ((page_home.general.outdoor_temp.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.outdoor_temp.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.outdoor_temp.label.color_rgb[2] //(2**3)) }}"
|
||
### LABEL Outdoor Temp Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.outdoor_temp
|
||
message: "{{ (outdoor_temp | round(1) ~ weather_units.temperature) if is_number(outdoor_temp) else (mui[language].unavailable if outdoor_temp in ['unavailable', 'unknown', None] else outdoor_temp) }}"
|
||
|
||
##### NSPanel Indoor Temp #####
|
||
- variables:
|
||
indoor_temp_state: "{{ states(indoortemp) | default('unavailable') if indoortemp is string else 'unavailable' }}"
|
||
### ICON Indoor Temp Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.indoortempicon
|
||
message: "{{ page_home.general.indoor_temp.icon.color_rgb if is_number(page_home.general.indoor_temp.icon.color_rgb) else ((page_home.general.indoor_temp.icon.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.indoor_temp.icon.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.indoor_temp.icon.color_rgb[2] //(2**3)) }}"
|
||
### ICON Indoor Temp Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.indoortempicon
|
||
message: "{{ page_home.general.indoor_temp.icon.icon }}"
|
||
### LABEL Indoor Temp Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.current_temp
|
||
message: "{{ page_home.general.indoor_temp.label.color_rgb if is_number(page_home.general.indoor_temp.label.color_rgb) else ((page_home.general.indoor_temp.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.indoor_temp.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.indoor_temp.label.color_rgb[2] //(2**3)) }}"
|
||
### LABEL Indoor Temp Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.current_temp
|
||
message: "{{ (indoor_temp_state | round(1) ~ weather_units.temperature) if is_number(indoor_temp_state) else (mui[language].unavailable if indoor_temp_state in ['unavailable', 'unknown', None] else indoor_temp_state) }}"
|
||
|
||
##### Weather Icon Home Page #####
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: home.weather.pic={{ nextion.pics.weather[states(weather_entity) | default('unavailable') if weather_entity is string else 'unavailable'] | default(None) }}
|
||
|
||
##### NSPanel Buttons #####
|
||
- variables:
|
||
left_button_state: "{{ states(page_home.hardware.buttons.left.entity) | default('unavailable') if page_home.hardware.buttons.left.entity is string else 'unavailable' }}"
|
||
right_button_state: "{{ states(page_home.hardware.buttons.right.entity) | default('unavailable') if page_home.hardware.buttons.right.entity is string else 'unavailable' }}"
|
||
|
||
##### NSPanel Left Button Name #####
|
||
- if: "{{ page_home.hardware.buttons.left.name | length > 0 }}"
|
||
then:
|
||
### LABEL Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.left_bt_text
|
||
message: "{{ page_home.hardware.buttons.left.color_rgb if is_number(page_home.hardware.buttons.left.color_rgb) else ((page_home.hardware.buttons.left.color_rgb[0] //(2**3)) *(2**11))+((page_home.hardware.buttons.left.color_rgb[1] //(2**2)) *(2**5))+(page_home.hardware.buttons.left.color_rgb[2] //(2**3)) }}"
|
||
### LABEL Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.left_bt_text
|
||
message: "{{ page_home.hardware.buttons.left.name }}"
|
||
|
||
##### SET Left Hardware Button PIC on Home Page ####
|
||
- if: "{{ left_button_state not in ['unavailable', 'unknown', None] }}"
|
||
then:
|
||
- variables:
|
||
# Hardware Button PIC
|
||
left_hardware_button_state: "{{ nextion.pics.hardware.button[left_button_state] | default(None) }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: home.left_bt_pic.pic={{ left_hardware_button_state }}
|
||
|
||
##### NSPanel Right Button Name #####
|
||
- if: "{{ page_home.hardware.buttons.right.name | length > 0 }}"
|
||
then:
|
||
### LABEL Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.right_bt_text
|
||
message: "{{ page_home.hardware.buttons.right.color_rgb if is_number(page_home.hardware.buttons.right.color_rgb) else ((page_home.hardware.buttons.right.color_rgb[0] //(2**3)) *(2**11))+((page_home.hardware.buttons.right.color_rgb[1] //(2**2)) *(2**5))+(page_home.hardware.buttons.right.color_rgb[2] //(2**3)) }}"
|
||
### LABEL Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.right_bt_text
|
||
message: "{{ page_home.hardware.buttons.right.name }}"
|
||
|
||
##### SET Right Hardware Button PIC on Home Page #####
|
||
- if: "{{ right_button_state not in ['unavailable', 'unknown', None] }}"
|
||
then:
|
||
- variables:
|
||
# Hardware Button PIC
|
||
right_hardware_button_state: "{{ nextion.pics.hardware.button[right_button_state] | default(None) }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: home.right_bt_pic.pic={{ right_hardware_button_state }}
|
||
|
||
###### Status bar ######
|
||
- &variables-home_page_status_bar
|
||
variables:
|
||
thermostat_icon: !input "thermostat_icon" #E50E
|
||
heat_icon: !input "heat_icon" #\U0000E50F
|
||
climate_state: "{{ states(climate) | default('unavailable') if climate is string else 'unavailable' }}"
|
||
climate_action: "{{ state_attr(climate, 'hvac_action') | default('unavailable') if climate is string else 'unavailable' }}"
|
||
home_page_status_bar:
|
||
- entity: "{{ relay01_entity }}"
|
||
icon: !input "relay01_icon" #E3A5
|
||
icon_color_rgb: !input "relay01_icon_color"
|
||
- entity: "{{ relay02_entity }}"
|
||
icon: !input "relay02_icon" #E3A8
|
||
icon_color_rgb: !input "relay02_icon_color"
|
||
- entity: "{{ climate }}"
|
||
icon: "{{ (heat_icon if climate_action == 'heating' else thermostat_icon) if climate_state == 'heat' else nextion.icons.blank }}"
|
||
icon_color_rgb: !input "thermostat_icon_color"
|
||
- entity: !input "chip01"
|
||
icon: !input "chip01_icon"
|
||
icon_color_rgb: !input "chip01_icon_color"
|
||
- entity: !input "chip02"
|
||
icon: !input "chip02_icon"
|
||
icon_color_rgb: !input "chip02_icon_color"
|
||
- entity: !input "chip03"
|
||
icon: !input "chip03_icon"
|
||
icon_color_rgb: !input "chip03_icon_color"
|
||
- entity: !input "chip04"
|
||
icon: !input "chip04_icon"
|
||
icon_color_rgb: !input "chip04_icon_color"
|
||
- entity: !input "chip05"
|
||
icon: !input "chip05_icon"
|
||
icon_color_rgb: !input "chip05_icon_color"
|
||
- entity: !input "chip06"
|
||
icon: !input "chip06_icon"
|
||
icon_color_rgb: !input "chip06_icon_color"
|
||
- entity: !input "chip07"
|
||
icon: !input "chip07_icon"
|
||
icon_color_rgb: !input "chip07_icon_color"
|
||
- repeat:
|
||
for_each: "{{ home_page_status_bar }}"
|
||
sequence:
|
||
- &display-home_page_status_bar
|
||
if: "{{ repeat.item.entity is defined and repeat.item.entity is string and repeat.item.entity | length > 0 }}"
|
||
then:
|
||
### ICON Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: "{{ 'home.icon_top_%02d' | format(repeat.index) }}"
|
||
message: "{{ repeat.item.icon_color_rgb if is_number(repeat.item.icon_color_rgb) else ((repeat.item.icon_color_rgb[0] //(2**3)) *(2**11))+((repeat.item.icon_color_rgb[1] //(2**2)) *(2**5))+(repeat.item.icon_color_rgb[2] //(2**3)) }}"
|
||
### ICON Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ 'home.icon_top_%02d' | format(repeat.index) }}"
|
||
message: "{{ repeat.item.icon if is_state(repeat.item.entity, 'on') | default(False) else nextion.icons.blank }}"
|
||
# {{ is_state(repeat.item.entity, 'on') | default(False) if repeat.item.entity is string else 'unavailable' }}
|
||
|
||
##### HOME VALUE 01 - 03
|
||
- *delay-default
|
||
- &variables-home_page_values
|
||
variables:
|
||
home_page_values:
|
||
- entity: !input "home_value01"
|
||
icon: !input "home_value01_icon"
|
||
icon_color_rgb: !input "home_value01_icon_color"
|
||
label_color_rgb: !input "home_value01_label_color"
|
||
- entity: !input "home_value02"
|
||
icon: !input "home_value02_icon"
|
||
icon_color_rgb: !input "home_value02_icon_color"
|
||
label_color_rgb: !input "home_value02_label_color"
|
||
- entity: !input "home_value03"
|
||
icon: !input "home_value03_icon"
|
||
icon_color_rgb: !input "home_value03_icon_color"
|
||
label_color_rgb: !input "home_value03_label_color"
|
||
- repeat:
|
||
for_each: "{{ home_page_values }}"
|
||
sequence:
|
||
- &display-home_page_value
|
||
if: "{{ repeat.item.entity is string and repeat.item.entity is match 'sensor.' and states(repeat.item.entity) not in ['unavailable', 'unknown', None] }}"
|
||
then:
|
||
- if: "{{ repeat.item.entity_icon | length > 0 }}"
|
||
then:
|
||
### ICON Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: "{{ 'home.value%02d_icon' | format(repeat.index) }}"
|
||
message: "{{ repeat.item.icon_color_rgb if is_number(repeat.item.icon_color_rgb) else ((repeat.item.icon_color_rgb[0] //(2**3)) *(2**11))+((repeat.item.icon_color_rgb[1] //(2**2)) *(2**5))+(repeat.item.icon_color_rgb[2] //(2**3)) }}"
|
||
### ICON Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ 'home.value%02d_icon' | format(repeat.index) }}"
|
||
message: "{{ repeat.item.icon }}"
|
||
### LABEL Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: "{{ 'home.value%02d_state' | format(repeat.index) }}"
|
||
message: "{{ repeat.item.label_color_rgb if is_number(repeat.item.label_color_rgb) else ((repeat.item.label_color_rgb[0] //(2**3)) *(2**11))+((repeat.item.label_color_rgb[1] //(2**2)) *(2**5))+(repeat.item.label_color_rgb[2] //(2**3)) }}"
|
||
### LABEL Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ 'home.value%02d_state' | format(repeat.index) }}"
|
||
message: "{{ (states(repeat.item.entity) | round(1) ~ (state_attr(repeat.item.entity, 'unit_of_measurement') if state_attr(repeat.item.entity, 'unit_of_measurement') else '')) if is_number(states(repeat.item.entity)) else states(repeat.item.entity) | default('unknown') }}"
|
||
|
||
##### Set notify icon #####
|
||
- variables:
|
||
notification_unread_state: "{{ states(notification_unread) | default('unavailable') if notification_unread is string else 'unavailable' }}"
|
||
notification_text_state: "{{ states(notification_text) | default(None) if notification_text is string else None }}"
|
||
set_button04_icon: >-
|
||
{%- if notification_unread_state == 'on' and notification_text_state | length > 0 -%} {{ page_home.buttons[3].icon}}
|
||
{%- elif notification_unread_state == 'off' and notification_text_state | length > 0 -%} {{ page_home.buttons[3].icon }}
|
||
{%- else -%} {{ nextion.icons.blank }}
|
||
{%- endif -%}
|
||
set_button04_icon_font: >-
|
||
{%- if notification_unread_state == 'on' and notification_text_state | length > 0 -%}
|
||
{% set rgb = page_home.buttons[3].color_rgb.on %}
|
||
{{ rgb if is_number(rgb) else ((rgb[0] //(2**3)) *(2**11))+((rgb[1] //(2**2)) *(2**5))+(rgb[2] //(2**3)) }}
|
||
{%- elif notification_unread_state == 'off' and notification_text_state | length > 0 -%}
|
||
{% set rgb = page_home.buttons[3].color_rgb.off %}
|
||
{{ rgb if is_number(rgb) else ((rgb[0] //(2**3)) *(2**11))+((rgb[1] //(2**2)) *(2**5))+(rgb[2] //(2**3)) }}
|
||
{%- else -%} {{ nextion.colors.grey_light }}
|
||
{%- endif -%}
|
||
##### SET ICON Font - Notify #####
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.button04_icon
|
||
message: "{{ set_button04_icon }}"
|
||
|
||
##### SET ICON Font Color - Notify #####
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.button04_icon
|
||
message: "{{ set_button04_icon_font }}"
|
||
|
||
###### QR Code - Icon ######
|
||
- *delay-default
|
||
- if: "{{ qrcode_enabled == true }}"
|
||
then: # Display QR code icon
|
||
### ICON Font Color ###
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.button05_icon
|
||
message: "{{ page_home.buttons[4].color_rgb.on if is_number(page_home.buttons[4].color_rgb.on) else ((page_home.buttons[4].color_rgb.on[0] //(2**3)) *(2**11))+((page_home.buttons[4].color_rgb.on[1] //(2**2)) *(2**5))+(page_home.buttons[4].color_rgb.on[2] //(2**3)) }}"
|
||
### ICON Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.button05_icon
|
||
message: "{{ page_home.buttons[4].icon }}"
|
||
else: # Display blank icon
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.button05_icon
|
||
message: "{{ nextion.icons.blank }}"
|
||
|
||
###### ENTITIES - Icon ######
|
||
- *delay-default
|
||
- if: "{{ entitypages_enabled }}"
|
||
then: # Display entities icon
|
||
### ICON Font Color ###
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.button06_icon
|
||
message: "{{ page_home.buttons[5].color_rgb.on if is_number(page_home.buttons[5].color_rgb.on) else ((page_home.buttons[5].color_rgb.on[0] //(2**3)) *(2**11))+((page_home.buttons[5].color_rgb.on[1] //(2**2)) *(2**5))+(page_home.buttons[5].color_rgb.on[2] //(2**3)) }}"
|
||
### ICON Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.button06_icon
|
||
message: "{{ page_home.buttons[5].icon }}"
|
||
else: # Display blank icon
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.button06_icon
|
||
message: "{{ nextion.icons.blank }}"
|
||
|
||
###### SHOW All component when page loading done #####
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.show_all }}"
|
||
|
||
## BUTTON PAGES 01 - 04 ##
|
||
- alias: Button pages
|
||
conditions: "{{ trigger.event.data.new_state.state in nextion.pages.buttonpages }}"
|
||
sequence: &refresh_page_buttonpage
|
||
- &variables-page_buttons
|
||
variables:
|
||
button_page_index: "{{ (nextion.pages.current[-2:] | int(-1)) - 1 }}"
|
||
first_button: "{{ button_page_index * 8 }}"
|
||
last_button: "{{ first_button + 8 }}"
|
||
##### BUTTON Page Labels #####
|
||
button_pages_labels:
|
||
- label: !input button_page01_label
|
||
- label: !input button_page02_label
|
||
- label: !input button_page03_label
|
||
- label: !input button_page04_label
|
||
##### BUTTONS Page - Buttons 1 - 32 #####
|
||
button_pages_buttons:
|
||
- entity: !input "entity01"
|
||
name: !input "entity01_name"
|
||
icon: !input "entity01_icon"
|
||
icon_color_rgb: !input "entity01_icon_color"
|
||
confirm: !input "entity01_confirm"
|
||
component: buttonpage01.button01
|
||
- entity: !input "entity02"
|
||
name: !input "entity02_name"
|
||
icon: !input "entity02_icon"
|
||
icon_color_rgb: !input "entity02_icon_color"
|
||
confirm: !input "entity02_confirm"
|
||
component: buttonpage01.button02
|
||
- entity: !input "entity03"
|
||
name: !input "entity03_name"
|
||
icon: !input "entity03_icon"
|
||
icon_color_rgb: !input "entity03_icon_color"
|
||
confirm: !input "entity03_confirm"
|
||
component: buttonpage01.button03
|
||
- entity: !input "entity04"
|
||
name: !input "entity04_name"
|
||
icon: !input "entity04_icon"
|
||
icon_color_rgb: !input "entity04_icon_color"
|
||
confirm: !input "entity04_confirm"
|
||
component: buttonpage01.button04
|
||
- entity: !input "entity05"
|
||
name: !input "entity05_name"
|
||
icon: !input "entity05_icon"
|
||
icon_color_rgb: !input "entity05_icon_color"
|
||
confirm: !input "entity05_confirm"
|
||
component: buttonpage01.button05
|
||
- entity: !input "entity06"
|
||
name: !input "entity06_name"
|
||
icon: !input "entity06_icon"
|
||
icon_color_rgb: !input "entity06_icon_color"
|
||
confirm: !input "entity06_confirm"
|
||
component: buttonpage01.button06
|
||
- entity: !input "entity07"
|
||
name: !input "entity07_name"
|
||
icon: !input "entity07_icon"
|
||
icon_color_rgb: !input "entity07_icon_color"
|
||
confirm: !input "entity07_confirm"
|
||
component: buttonpage01.button07
|
||
- entity: !input "entity08"
|
||
name: !input "entity08_name"
|
||
icon: !input "entity08_icon"
|
||
icon_color_rgb: !input "entity08_icon_color"
|
||
confirm: !input "entity08_confirm"
|
||
component: buttonpage01.button08
|
||
- entity: !input "entity09"
|
||
name: !input "entity09_name"
|
||
icon: !input "entity09_icon"
|
||
icon_color_rgb: !input "entity09_icon_color"
|
||
confirm: !input "entity09_confirm"
|
||
component: buttonpage02.button01
|
||
- entity: !input "entity10"
|
||
name: !input "entity10_name"
|
||
icon: !input "entity10_icon"
|
||
icon_color_rgb: !input "entity10_icon_color"
|
||
confirm: !input "entity10_confirm"
|
||
component: buttonpage02.button02
|
||
- entity: !input "entity11"
|
||
name: !input "entity11_name"
|
||
icon: !input "entity11_icon"
|
||
icon_color_rgb: !input "entity11_icon_color"
|
||
confirm: !input "entity11_confirm"
|
||
component: buttonpage02.button03
|
||
- entity: !input "entity12"
|
||
name: !input "entity12_name"
|
||
icon: !input "entity12_icon"
|
||
icon_color_rgb: !input "entity12_icon_color"
|
||
confirm: !input "entity12_confirm"
|
||
component: buttonpage02.button04
|
||
- entity: !input "entity13"
|
||
name: !input "entity13_name"
|
||
icon: !input "entity13_icon"
|
||
icon_color_rgb: !input "entity13_icon_color"
|
||
confirm: !input "entity13_confirm"
|
||
component: buttonpage02.button05
|
||
- entity: !input "entity14"
|
||
name: !input "entity14_name"
|
||
icon: !input "entity14_icon"
|
||
icon_color_rgb: !input "entity14_icon_color"
|
||
confirm: !input "entity14_confirm"
|
||
component: buttonpage02.button06
|
||
- entity: !input "entity15"
|
||
name: !input "entity15_name"
|
||
icon: !input "entity15_icon"
|
||
icon_color_rgb: !input "entity15_icon_color"
|
||
confirm: !input "entity15_confirm"
|
||
component: buttonpage02.button07
|
||
- entity: !input "entity16"
|
||
name: !input "entity16_name"
|
||
icon: !input "entity16_icon"
|
||
icon_color_rgb: !input "entity16_icon_color"
|
||
confirm: !input "entity16_confirm"
|
||
component: buttonpage02.button08
|
||
- entity: !input "entity17"
|
||
name: !input "entity17_name"
|
||
icon: !input "entity17_icon"
|
||
icon_color_rgb: !input "entity17_icon_color"
|
||
confirm: !input "entity17_confirm"
|
||
component: buttonpage03.button01
|
||
- entity: !input "entity18"
|
||
name: !input "entity18_name"
|
||
icon: !input "entity18_icon"
|
||
icon_color_rgb: !input "entity18_icon_color"
|
||
confirm: !input "entity18_confirm"
|
||
component: buttonpage03.button02
|
||
- entity: !input "entity19"
|
||
name: !input "entity19_name"
|
||
icon: !input "entity19_icon"
|
||
icon_color_rgb: !input "entity19_icon_color"
|
||
confirm: !input "entity19_confirm"
|
||
component: buttonpage03.button03
|
||
- entity: !input "entity20"
|
||
name: !input "entity20_name"
|
||
icon: !input "entity20_icon"
|
||
icon_color_rgb: !input "entity20_icon_color"
|
||
confirm: !input "entity20_confirm"
|
||
component: buttonpage03.button04
|
||
- entity: !input "entity21"
|
||
name: !input "entity21_name"
|
||
icon: !input "entity21_icon"
|
||
icon_color_rgb: !input "entity21_icon_color"
|
||
confirm: !input "entity21_confirm"
|
||
component: buttonpage03.button05
|
||
- entity: !input "entity22"
|
||
name: !input "entity22_name"
|
||
icon: !input "entity22_icon"
|
||
icon_color_rgb: !input "entity22_icon_color"
|
||
confirm: !input "entity22_confirm"
|
||
component: buttonpage03.button06
|
||
- entity: !input "entity23"
|
||
name: !input "entity23_name"
|
||
icon: !input "entity23_icon"
|
||
icon_color_rgb: !input "entity23_icon_color"
|
||
confirm: !input "entity23_confirm"
|
||
component: buttonpage03.button07
|
||
- entity: !input "entity24"
|
||
name: !input "entity24_name"
|
||
icon: !input "entity24_icon"
|
||
icon_color_rgb: !input "entity24_icon_color"
|
||
confirm: !input "entity24_confirm"
|
||
component: buttonpage03.button08
|
||
- entity: !input "entity25"
|
||
name: !input "entity25_name"
|
||
icon: !input "entity25_icon"
|
||
icon_color_rgb: !input "entity25_icon_color"
|
||
confirm: !input "entity25_confirm"
|
||
component: buttonpage04.button01
|
||
- entity: !input "entity26"
|
||
name: !input "entity26_name"
|
||
icon: !input "entity26_icon"
|
||
icon_color_rgb: !input "entity26_icon_color"
|
||
confirm: !input "entity26_confirm"
|
||
component: buttonpage04.button02
|
||
- entity: !input "entity27"
|
||
name: !input "entity27_name"
|
||
icon: !input "entity27_icon"
|
||
icon_color_rgb: !input "entity27_icon_color"
|
||
confirm: !input "entity27_confirm"
|
||
component: buttonpage04.button03
|
||
- entity: !input "entity28"
|
||
name: !input "entity28_name"
|
||
icon: !input "entity28_icon"
|
||
icon_color_rgb: !input "entity28_icon_color"
|
||
confirm: !input "entity28_confirm"
|
||
component: buttonpage04.button04
|
||
- entity: !input "entity29"
|
||
name: !input "entity29_name"
|
||
icon: !input "entity29_icon"
|
||
icon_color_rgb: !input "entity29_icon_color"
|
||
confirm: !input "entity29_confirm"
|
||
component: buttonpage04.button05
|
||
- entity: !input "entity30"
|
||
name: !input "entity30_name"
|
||
icon: !input "entity30_icon"
|
||
icon_color_rgb: !input "entity30_icon_color"
|
||
confirm: !input "entity30_confirm"
|
||
component: buttonpage04.button06
|
||
- entity: !input "entity31"
|
||
name: !input "entity31_name"
|
||
icon: !input "entity31_icon"
|
||
icon_color_rgb: !input "entity31_icon_color"
|
||
confirm: !input "entity31_confirm"
|
||
component: buttonpage04.button07
|
||
- entity: !input "entity32"
|
||
name: !input "entity32_name"
|
||
icon: !input "entity32_icon"
|
||
icon_color_rgb: !input "entity32_icon_color"
|
||
confirm: !input "entity32_confirm"
|
||
component: buttonpage04.button08
|
||
- if: "{{ button_page_index >= 0 and button_page_index <= 3 }}"
|
||
then:
|
||
- service: "{{ nextion.commands.set_settings_entity }}"
|
||
data:
|
||
entity: 'unknown'
|
||
##### Button Page Label #####
|
||
- if: "{{ button_pages_labels[button_page_index].label | length > 0 }}"
|
||
then:
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ 'bpage%02d_label' | format(button_page_index+1) }}"
|
||
message: "{{ button_pages_labels[button_page_index].label }}"
|
||
|
||
- *variables-weather
|
||
##### NSPanel build Button page #####
|
||
- repeat:
|
||
for_each: "{{ button_pages_buttons[first_button:last_button] }}"
|
||
sequence: &display-button_page_button
|
||
- if: "{{ repeat.item.entity is string and repeat.item.entity | length > 0 and repeat.item.entity.split('.') | default([]) | count > 0 }}"
|
||
then:
|
||
- variables:
|
||
item_domain: "{{ repeat.item.entity.split('.')[0] | default('unknown') }}"
|
||
# {{ states(entity_id) | default('unavailable') if entity_id is string else 'unavailable' }}
|
||
current_entity_state: "{{ states(repeat.item.entity) | default('unavailable') }}"
|
||
current_entity_state_available: "{{ current_entity_state not in ['unknown', 'unavailable', None] }}"
|
||
# Button PIC GRAY/WHITE
|
||
btn_pic: "{{ nextion.pics.button.on if current_entity_state in ['on', 'open', 'home'] or (item_domain == 'climate' and current_entity_state != 'off') else nextion.pics.button.off }}"
|
||
# TEXT, BRIGHTNESS and ICON Background
|
||
btn_bg: "{{ nextion.colors.white if current_entity_state in ['on', 'open', 'home'] or (item_domain == 'climate' and current_entity_state != 'off') else nextion.colors.grey_dark }}"
|
||
# ICON Font Color
|
||
btn_icon_font: >
|
||
{% if not current_entity_state_available %} {{ nextion.colors.red }}
|
||
{% elif item_domain in ['button', 'input_button', 'scene'] or current_entity_state in ['off', 'closed'] or (item_domain == 'person' and current_entity_state != 'home') %} {{ nextion.colors.grey_light }}
|
||
{% elif current_entity_state in ['on', 'open', 'home'] or (item_domain == 'climate' and current_entity_state != 'off') %} {{ repeat.item.icon_color_rgb if is_number(repeat.item.icon_color_rgb) else ((repeat.item.icon_color_rgb[0] //(2**3)) *(2**11))+((repeat.item.icon_color_rgb[1] //(2**2)) *(2**5))+(repeat.item.icon_color_rgb[2] //(2**3)) }}
|
||
{% else %} {{ nextion.colors.red }}
|
||
{% endif %}
|
||
# LABEL Font Color
|
||
btn_txt_font: >-
|
||
{% if not current_entity_state_available %} {{ nextion.colors.white }}
|
||
{% elif item_domain in ['button', 'input_button', 'scene'] or current_entity_state in ['off', 'closed'] or (item_domain == 'person' and current_entity_state != 'home') %} {{ nextion.colors.white }}
|
||
{% elif current_entity_state in ['on', 'open', 'home'] or (item_domain == 'climate' and current_entity_state != 'off') %} {{ nextion.colors.grey_dark }}
|
||
{% else %} {{ nextion.colors.white }}
|
||
{% endif %}
|
||
# BRIGHTNESS Font Color
|
||
btn_bri_font: "{{ nextion.colors.grey_dark }}"
|
||
# ICON Value
|
||
btn_icon: "{{ repeat.item.icon if repeat.item.icon | length > 0 else nextion.icons.buttons[repeat.item.entity.split('.')[0] if repeat.item.entity else 'unknown'] }}"
|
||
# LABEL Value
|
||
btn_label: "{{ repeat.item.name }}"
|
||
# BRIGHTNESS Value
|
||
btn_bri_txt: >-
|
||
{% if not current_entity_state_available %} 0
|
||
{% elif item_domain == '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 item_domain == '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 item_domain == 'climate' and current_entity_state != 'off' and state_attr(repeat.item.entity, "current_temperature") != None %} {{ (state_attr(repeat.item.entity, "current_temperature") | float) | round(0) }}{{ weather_units.temperature }}
|
||
{% else -%} 0
|
||
{% endif -%}
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.set_button }}"
|
||
data:
|
||
btn_id: "{{ repeat.item.component }}"
|
||
btn_pic: "{{ btn_pic }}"
|
||
btn_bg: "{{ btn_bg }}"
|
||
btn_icon_font: "{{ btn_icon_font }}"
|
||
btn_txt_font: "{{ btn_txt_font }}"
|
||
btn_bri_font: "{{ btn_bri_font }}"
|
||
btn_icon: "{{ btn_icon }}"
|
||
btn_label: "{{ btn_label }}"
|
||
btn_bri_txt: "{{ btn_bri_txt }}"
|
||
###### SHOW All component when page loading done #####
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.show_all }}"
|
||
|
||
## PAGE LIGHTSETTINGS ##
|
||
- alias: Light settings page
|
||
conditions: "{{ trigger.event.data.new_state.state == nextion.pages.light }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: lightsettings.light_name
|
||
message: "{{ entity_long_name }}"
|
||
##### LIGHT ICON - ON / OFF #####
|
||
- variables:
|
||
lightsettings_icon_font: "{{ entity_long_icon if entity_long_icon not in ['unavailable', 'unknown', None] and entity_long_icon | length > 0 else nextion.icons.buttons.light }}"
|
||
lightsettings_icon_font_color: "{{ entity_long_icon_color if is_state(entity_long, 'on') else nextion.colors.grey_light }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: lightsettings.icon_state
|
||
message: "{{ lightsettings_icon_font }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: lightsettings.icon_state
|
||
message: "{{ lightsettings_icon_font_color }}"
|
||
##### LIGHT State #####
|
||
- *delay-default
|
||
- if: "{{ state_attr(entity_long, 'brightness') != none }}"
|
||
then:
|
||
- service: "{{ nextion.commands.value }}"
|
||
data:
|
||
component: lightsettings.lightslider
|
||
message: "{{ (state_attr(entity_long, 'brightness') | int * 100 / 255) | round(0) }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: lightsettings.light_value
|
||
message: "{{ (state_attr(entity_long, 'brightness') | int * 100 / 255) | round(0) }}%"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: lightsettings.light_value_2
|
||
message: "{{ (state_attr(entity_long, 'brightness') | int * 100 /255) | round(0) }}%"
|
||
else:
|
||
- service: "{{ nextion.commands.value }}"
|
||
data:
|
||
component: lightsettings.lightslider
|
||
message: '0'
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: lightsettings.light_value
|
||
message: '0 %'
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: lightsettings.light_value_2
|
||
message: '0 %'
|
||
|
||
##### LIGHT Check Color_Temp Value is available when yes send some current Values #####
|
||
- if: "{{ state_attr(entity_long, 'color_temp') != none }}"
|
||
then:
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: lightsettings.temp_value
|
||
message: "{{ (state_attr(entity_long, 'color_temp') | int ) | round(0) }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: lightsettings.temp_value_2
|
||
message: "{{ (state_attr(entity_long, 'color_temp') | int ) | round(0) }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.value }}"
|
||
data:
|
||
component: lightsettings.tempslider
|
||
message: "{{ (state_attr(entity_long, 'color_temp') | int ) | round(0) }}"
|
||
|
||
## PAGE COVERSETTINGS ##
|
||
- alias: Cover settings page
|
||
conditions: "{{ trigger.event.data.new_state.state == nextion.pages.cover }}"
|
||
sequence:
|
||
##### COVER - OPEN / CLOSE #####
|
||
- variables:
|
||
coversettings_icon_font: "{{ entity_long_icon if entity_long_icon | length > 0 else nextion.icons.buttons.cover }}"
|
||
coversettings_icon_font_color: "{{ entity_long_icon_color if is_state(entity_long, 'open') else nextion.colors.grey_light }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: coversettings.icon_state
|
||
message: "{{ coversettings_icon_font }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: coversettings.icon_state
|
||
message: "{{ coversettings_icon_font_color }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: coversettings.cover_name
|
||
message: "{{ entity_long_name }}"
|
||
|
||
##### COVER State
|
||
- service: "{{ nextion.commands.value }}"
|
||
data:
|
||
component: coversettings.coverslider
|
||
message: "{{ (state_attr(entity_long, 'current_position') | int ) | round(0) }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: coversettings.cover_value
|
||
message: "{{ (state_attr(entity_long, 'current_position') | int ) | round(0) }} %"
|
||
|
||
##### COVER Battery ICON Yes / NO #####
|
||
- variables:
|
||
battery_level: >
|
||
{% if state_attr(entity_long, 'battery') | default('unavailable') not in ['unavailable', 'unknown', None] %}
|
||
{{ state_attr(entity_long, 'battery') | default('unavailable') }}
|
||
{% elif expand(device_entities(device_id(entity_long))) | selectattr('attributes.device_class', 'defined') | selectattr('attributes.device_class', 'eq', 'battery') | map(attribute='state') | map('float') | list | count > 0 %}
|
||
{{ expand(device_entities(device_id(entity_long))) | selectattr('attributes.device_class', 'defined') | selectattr('attributes.device_class', 'eq', 'battery') | map(attribute='state') | map('float') | list | first }}
|
||
{% elif states(entity_long | replace('cover.','sensor.') ~ '_battery') | default('unavailable') not in ['unavailable', 'unknown', None] %}
|
||
{{ states(entity_long | replace('cover.','sensor.') ~ '_battery') | default('unavailable') }}
|
||
{% elif states(entity_long | replace('cover.','sensor.') | replace('cover', 'battery')) | default('unavailable') not in ['unavailable', 'unknown', None] %}
|
||
{{ states(entity_long | replace('cover.','sensor.') | replace('cover', 'battery')) | default('unavailable') }}
|
||
{% else %} unavailable
|
||
{% endif %}
|
||
- if: "{{ is_number(battery_level) }}"
|
||
then:
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: coversettings.battery_value
|
||
message: "{{ battery_level | round(0) }} %"
|
||
### ICON Battery Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: coversettings.battery_icon
|
||
message: "{{ nextion.colors.grey_super_light }}"
|
||
### ICON Battery Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: coversettings.battery_icon
|
||
message: "{{ nextion.icons.battery }}"
|
||
|
||
## ENTITY PAGES 01 - 04 ##
|
||
- alias: Entity pages
|
||
conditions: "{{ trigger.event.data.new_state.state in nextion.pages.entitypages }}"
|
||
sequence: &refresh-entity_pages
|
||
- &variables-entity_pages
|
||
variables:
|
||
##### Entity pages #####
|
||
entity_pages_labels:
|
||
- label: !input "entity_page01_label"
|
||
- label: !input "entity_page02_label"
|
||
- label: !input "entity_page03_label"
|
||
- label: !input "entity_page04_label"
|
||
entity_pages_entities:
|
||
- entity: !input "entities_entity01"
|
||
name: !input "entities_entity01_name"
|
||
icon: !input "entities_entity01_icon"
|
||
component: entitypage01.value01
|
||
- entity: !input "entities_entity02"
|
||
name: !input "entities_entity02_name"
|
||
icon: !input "entities_entity02_icon"
|
||
component: entitypage01.value02
|
||
- entity: !input "entities_entity03"
|
||
name: !input "entities_entity03_name"
|
||
icon: !input "entities_entity03_icon"
|
||
component: entitypage01.value03
|
||
- entity: !input "entities_entity04"
|
||
name: !input "entities_entity04_name"
|
||
icon: !input "entities_entity04_icon"
|
||
component: entitypage01.value04
|
||
- entity: !input "entities_entity05"
|
||
name: !input "entities_entity05_name"
|
||
icon: !input "entities_entity05_icon"
|
||
component: entitypage01.value05
|
||
- entity: !input "entities_entity06"
|
||
name: !input "entities_entity06_name"
|
||
icon: !input "entities_entity06_icon"
|
||
component: entitypage01.value06
|
||
- entity: !input "entities_entity07"
|
||
name: !input "entities_entity07_name"
|
||
icon: !input "entities_entity07_icon"
|
||
component: entitypage01.value07
|
||
- entity: !input "entities_entity08"
|
||
name: !input "entities_entity08_name"
|
||
icon: !input "entities_entity08_icon"
|
||
component: entitypage01.value08
|
||
- entity: !input "entities_entity09"
|
||
name: !input "entities_entity09_name"
|
||
icon: !input "entities_entity09_icon"
|
||
component: entitypage02.value01
|
||
- entity: !input "entities_entity10"
|
||
name: !input "entities_entity10_name"
|
||
icon: !input "entities_entity10_icon"
|
||
component: entitypage02.value02
|
||
- entity: !input "entities_entity11"
|
||
name: !input "entities_entity11_name"
|
||
icon: !input "entities_entity11_icon"
|
||
component: entitypage02.value03
|
||
- entity: !input "entities_entity12"
|
||
name: !input "entities_entity12_name"
|
||
icon: !input "entities_entity12_icon"
|
||
component: entitypage02.value04
|
||
- entity: !input "entities_entity13"
|
||
name: !input "entities_entity13_name"
|
||
icon: !input "entities_entity13_icon"
|
||
component: entitypage02.value05
|
||
- entity: !input "entities_entity14"
|
||
name: !input "entities_entity14_name"
|
||
icon: !input "entities_entity14_icon"
|
||
component: entitypage02.value06
|
||
- entity: !input "entities_entity15"
|
||
name: !input "entities_entity15_name"
|
||
icon: !input "entities_entity15_icon"
|
||
component: entitypage02.value07
|
||
- entity: !input "entities_entity16"
|
||
name: !input "entities_entity16_name"
|
||
icon: !input "entities_entity16_icon"
|
||
component: entitypage02.value08
|
||
- entity: !input "entities_entity17"
|
||
name: !input "entities_entity17_name"
|
||
icon: !input "entities_entity17_icon"
|
||
component: entitypage03.value01
|
||
- entity: !input "entities_entity18"
|
||
name: !input "entities_entity18_name"
|
||
icon: !input "entities_entity18_icon"
|
||
component: entitypage03.value02
|
||
- entity: !input "entities_entity19"
|
||
name: !input "entities_entity19_name"
|
||
icon: !input "entities_entity19_icon"
|
||
component: entitypage03.value03
|
||
- entity: !input "entities_entity20"
|
||
name: !input "entities_entity20_name"
|
||
icon: !input "entities_entity20_icon"
|
||
component: entitypage03.value04
|
||
- entity: !input "entities_entity21"
|
||
name: !input "entities_entity21_name"
|
||
icon: !input "entities_entity21_icon"
|
||
component: entitypage03.value05
|
||
- entity: !input "entities_entity22"
|
||
name: !input "entities_entity22_name"
|
||
icon: !input "entities_entity22_icon"
|
||
component: entitypage03.value06
|
||
- entity: !input "entities_entity23"
|
||
name: !input "entities_entity23_name"
|
||
icon: !input "entities_entity23_icon"
|
||
component: entitypage03.value07
|
||
- entity: !input "entities_entity24"
|
||
name: !input "entities_entity24_name"
|
||
icon: !input "entities_entity24_icon"
|
||
component: entitypage03.value08
|
||
- entity: !input "entities_entity25"
|
||
name: !input "entities_entity25_name"
|
||
icon: !input "entities_entity25_icon"
|
||
component: entitypage04.value01
|
||
- entity: !input "entities_entity26"
|
||
name: !input "entities_entity26_name"
|
||
icon: !input "entities_entity26_icon"
|
||
component: entitypage04.value02
|
||
- entity: !input "entities_entity27"
|
||
name: !input "entities_entity27_name"
|
||
icon: !input "entities_entity27_icon"
|
||
component: entitypage04.value03
|
||
- entity: !input "entities_entity28"
|
||
name: !input "entities_entity28_name"
|
||
icon: !input "entities_entity28_icon"
|
||
component: entitypage04.value04
|
||
- entity: !input "entities_entity29"
|
||
name: !input "entities_entity29_name"
|
||
icon: !input "entities_entity29_icon"
|
||
component: entitypage04.value05
|
||
- entity: !input "entities_entity30"
|
||
name: !input "entities_entity30_name"
|
||
icon: !input "entities_entity30_icon"
|
||
component: entitypage04.value06
|
||
- entity: !input "entities_entity31"
|
||
name: !input "entities_entity31_name"
|
||
icon: !input "entities_entity31_icon"
|
||
component: entitypage04.value07
|
||
- entity: !input "entities_entity32"
|
||
name: !input "entities_entity32_name"
|
||
icon: !input "entities_entity32_icon"
|
||
component: entitypage04.value08
|
||
- variables:
|
||
entity_page_index: "{{ (nextion.pages.current[-2:] | int(-1)) - 1 }}"
|
||
first_entity: "{{ entity_page_index * 8 }}"
|
||
last_entity: "{{ first_entity + 8 }}"
|
||
##### Entity page - Label #####
|
||
- if: "{{ entity_pages_labels[entity_page_index].label | length > 0 }}"
|
||
then:
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ 'entity%02d_label' | format(entity_page_index + 1) }}"
|
||
message: "{{ entity_pages_labels[entity_page_index].label }}"
|
||
- *delay-default
|
||
##### Entities #####
|
||
- repeat:
|
||
for_each: "{{ entity_pages_entities[first_entity:last_entity] }}"
|
||
sequence: &update-entity_page_entity
|
||
- if: "{{ repeat.item.entity is string and repeat.item.entity | length > 0 }}"
|
||
then:
|
||
- variables:
|
||
repeat_item_state: "{{ states(repeat.item.entity) | default('unavailable') }}"
|
||
- if: "{{ repeat.item.icon | length > 0 }}"
|
||
then:
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ repeat.item.component }}_pic"
|
||
message: "{{ repeat.item.icon }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ repeat.item.component }}_label"
|
||
message: >-
|
||
{%- if repeat.item.name | length > 0 -%} {{ repeat.item.name }}
|
||
{%- elif repeat_item_state in ['unavailable', 'unknown', None] -%} {{ repeat.item.entity }}
|
||
{%- else -%} {{ state_attr(repeat.item.entity, 'friendly_name') | default(mui[language].no_name) }}
|
||
{%- endif -%}
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ repeat.item.component }}"
|
||
message: "{{ repeat_item_state ~ ((state_attr(repeat.item.entity, 'unit_of_measurement') | default('')) if state_attr(repeat.item.entity, 'unit_of_measurement') else '') }}"
|
||
|
||
## PAGE CLIMATE ##
|
||
- alias: Climate page
|
||
conditions: "{{ trigger.event.data.new_state.state == nextion.pages.climate }}"
|
||
sequence:
|
||
- *variables-weather
|
||
- variables:
|
||
hvac_mode: "{{ states(entity_long) | default('unavailable') if entity_long is string else 'unavailable' }}"
|
||
outdoor_temp_state: "{{ states(outdoortemp) | default('unavailable') if outdoortemp is string else 'unavailable' }}"
|
||
outdoor_temp: "{{ outdoor_temp_state if is_number(outdoor_temp_state) else state_attr(weather_entity, 'temperature') | default('unavailable') if weather_entity is string else 'unavailable' }}"
|
||
heating_state: "{{ mui[language].climate.states.off if hvac_mode == 'off' else mui[language].climate.states.on }}"
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: climate.climate_label
|
||
message: "{{ entity_long_name }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: outdoor_temp
|
||
message: "{{ (outdoor_temp | round(1) ~ weather_units.temperature) if is_number(outdoor_temp) else (mui[language].unavailable if outdoor_temp in ['unavailable', 'unknown', None] else outdoor_temp) }}"
|
||
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: current_temp
|
||
message: "{{ (state_attr(entity_long, 'current_temperature') | round(1) ~ weather_units.temperature) if is_number(state_attr(entity_long, 'current_temperature')) else '' }}" # mui[language].unavailable?
|
||
- if: "{{ hvac_mode != 'off' and is_number(state_attr(entity_long, 'temperature')) }}"
|
||
then:
|
||
- variables:
|
||
target_temp: "{{state_attr(entity_long, 'temperature') | round(1)}}"
|
||
- service: "{{ nextion.commands.thermostat_cycle }}"
|
||
data:
|
||
value: "{{ target_temp }}"
|
||
else:
|
||
- service: "{{ nextion.commands.thermostat_cycle }}"
|
||
data:
|
||
value: "0"
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: target_temp
|
||
message: " "
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: heating_state
|
||
message: "{{ heating_state }}"
|
||
|
||
# HVAC Button PIC
|
||
- variables:
|
||
heating_bt_pic: >-
|
||
{%- if hvac_mode == 'off' -%} {{ nextion.pics.heating.button.off }}
|
||
{%- else -%} {{ nextion.pics.heating.button.on }}
|
||
{%- endif -%}
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: heating_bt_pic.pic={{ heating_bt_pic }}
|
||
- variables:
|
||
hotwatercharge_state: "{{ states(hotwatercharge) | default('unavailable') if hotwatercharge is string else 'unavailable' }}"
|
||
hotwatertemp_state: "{{ states(hotwatertemp) | default('unavailable') if hotwatertemp is string else 'unavailable' }}"
|
||
hotw_bt_pic: "{{ nextion.pics.hvac.button[hotwatercharge_state] | default(nextion.pics.hvac.button.blank) if hotwatercharge_state not in ['unavailable', 'unknown', None] else nextion.pics.hvac.button.blank }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: hotw_bt_pic.pic={{ hotw_bt_pic }}
|
||
- if: "{{ hotwatertemp_state not in ['unavailable', 'unknown', None] }}"
|
||
then:
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: climate.hotwater_temp
|
||
message: "{{ (hotwatertemp_state | round(1) ~ weather_units.temperature) if is_number(hotwatertemp_state) else hotwatertemp_state }}"
|
||
|
||
## PAGE WEATHER (WEATHER01 to WEATHER05) ##
|
||
- alias: Weather pages
|
||
conditions: "{{ trigger.event.data.new_state.state in nextion.pages.weatherpages }}"
|
||
sequence:
|
||
- *variables-weather
|
||
- variables:
|
||
page_name: "{{ trigger.event.data.new_state.state }}"
|
||
page_index: "{{ (page_name[-2:] | int(0)) - 1 }}"
|
||
|
||
##### Display relative day #####
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ page_name }}.day"
|
||
message: "{{ (dict.values(mui[language].relative_day) | list)[page_index] }}"
|
||
- *delay-default
|
||
|
||
##### Display date (long) #####
|
||
- *variables-date_format
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ page_name }}.date"
|
||
message: "{{ (dict.values(mui[language].weekdays) | list)[(now() + timedelta(days= (page_index))).weekday()] ~ ', ' ~ as_timestamp(now() + timedelta(days= (page_index))) | timestamp_custom(date_format) }}"
|
||
- *delay-default
|
||
|
||
##### Display weather data only when available #####
|
||
- variables:
|
||
forecast_day: >
|
||
{{ state_attr(weather_entity, 'forecast') | default([])
|
||
| selectattr('datetime', 'defined')
|
||
| selectattr('datetime', '>=', (today_at('00:00') + timedelta(days= page_index)) | as_timestamp | timestamp_local )
|
||
| selectattr('datetime', '<', (today_at('00:00') + timedelta(days= (page_index+1))) | as_timestamp | timestamp_local )
|
||
| list
|
||
}}
|
||
- if: "{{ forecast_day | count > 0 }}"
|
||
then: # Display forecast
|
||
- variables:
|
||
accuweather: "{{ weather_type == 'AccuWeather' }}"
|
||
accuweather_day_name: "{{ 'day_' ~ page_index }}"
|
||
accuweather_sensor_prefix: "{{ 'sensor.' ~ (weather_entity | replace('weather.','')) ~ '_' }}"
|
||
accuweather_sensor_sufix: "{{ '_' ~ page_index ~ 'd' }}"
|
||
temp_min: >
|
||
{{ forecast_day | selectattr('templow', 'defined') | map(attribute='templow') | map('float') | list | min
|
||
if forecast_day | selectattr('templow', 'defined') | map(attribute='templow') | map('float') | list | count > 0
|
||
else forecast_day | selectattr('temperature', 'defined') | map(attribute='temperature') | map('float') | list | min | default('unknown')
|
||
}}
|
||
temp_max: "{{ forecast_day | selectattr('temperature', 'defined') | map(attribute='temperature') | map('float') | list | max | default('unknown') }}"
|
||
condition: "{{ forecast_day | selectattr('condition', 'defined') | map(attribute='condition') | list | first | default('unknown') }}"
|
||
precipitation: "{{ forecast_day | selectattr('precipitation', 'defined') | map(attribute='precipitation') | map('float') | list | sum | default('unknown') }}"
|
||
precipitation_probability: "{{ forecast_day | selectattr('precipitation_probability', 'defined') | map(attribute='precipitation_probability') | map('float') | list | sum | default('unknown') }}"
|
||
hours_of_sun: "{{ states(accuweather_sensor_prefix ~ 'hours_of_sun' ~ accuweather_sensor_sufix) | default('unknown') if accuweather else forecast_day | selectattr('hours_of_sun', 'defined') | map(attribute='hours_of_sun') | map('float') | list | sum | default('unknown') }}"
|
||
uv_index: "{{ states(accuweather_sensor_prefix ~ 'uv_index' ~ accuweather_sensor_sufix) | default('unknown') if accuweather else forecast_day | selectattr('uv_index', 'defined') | map(attribute='uv_index') | map('float') | list | max | default('unknown') }}"
|
||
wind_speed: "{{ forecast_day | selectattr('wind_speed', 'defined') | map(attribute='wind_speed') | map('float') | list | max | default('unknown') }}"
|
||
thunderstorm_probability: "{{ states(accuweather_sensor_prefix ~ 'thunderstorm_probability_day' ~ accuweather_sensor_sufix) | default('unknown') if accuweather else forecast_day | selectattr('thunderstorm_probability', 'defined') | map(attribute='thunderstorm_probability') | map('float') | list | max | default('unknown') }}"
|
||
parameters:
|
||
- name: hours_of_sun
|
||
visibility: "{{ is_number(hours_of_sun) }}"
|
||
value: "{{ (hours_of_sun | round(0) ~ ' ' ~ weather_units.hours_of_sun) if is_number(hours_of_sun) }}"
|
||
icon: "{{ nextion.icons.weather.sun }}"
|
||
- name: thunderstorm_probability
|
||
visibility: "{{ is_number(thunderstorm_probability) }}"
|
||
value: "{{ (thunderstorm_probability | round(0) ~ weather_units.thunderstorm_probability) if is_number(thunderstorm_probability) }}"
|
||
icon: "{{ nextion.icons.weather.lightning }}"
|
||
- name: precipitation
|
||
visibility: "{{ is_number(precipitation) or is_number(precipitation_probability) }}"
|
||
value: >
|
||
{{ (precipitation | round(0) ~ ' ' ~ weather_units.precipitation) if is_number(precipitation) }}
|
||
{{ '-' if is_number(precipitation) and is_number(precipitation_probability) }}
|
||
{{ (precipitation_probability | round(0) ~ weather_units.precipitation_probability) if is_number(precipitation_probability) }}
|
||
icon: "{{ nextion.icons.weather.rain }}"
|
||
- name: uv_index
|
||
visibility: "{{ is_number(uv_index) }}"
|
||
value: >
|
||
{{ (state_attr(accuweather_sensor_prefix ~ 'uv_index' ~ accuweather_sensor_sufix, 'level') | default(None) ~ ': ') if weather_type == 'AccuWeather' }}
|
||
{{ (uv_index | round(0) ~ weather_units.uv_index) if is_number(uv_index) }}
|
||
icon: "{{ nextion.icons.weather.protect }}"
|
||
- name: wind_speed
|
||
visibility: "{{ is_number(wind_speed) }}"
|
||
value: "{{ (wind_speed | round(0) ~ ' ' ~ weather_units.wind_speed) if is_number(wind_speed) }}"
|
||
icon: "{{ nextion.icons.weather.wind }}"
|
||
##### Display weather PIC when available
|
||
- if: "{{ condition not in ['unknown', None] }}"
|
||
then:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "{{ page_name }}.weather_icon.pic={{ nextion.pics.weather[states(weather_entity) | default('unavailable') if weather_entity is string else 'unavailable'] | default(None) if condition == 'unknown' and page_name == nextion.pages.weatherpages[0] else nextion.pics.weather[condition] | default(None) }}"
|
||
- *delay-default
|
||
|
||
##### Display temperature min/max when available
|
||
- variables:
|
||
temperature_string: >
|
||
{{ (temp_min | round(0) ~ weather_units.temperature) if is_number(temp_min) }}
|
||
{{ '/' if is_number(temp_min) and is_number(temp_max) }}
|
||
{{ (('+' if temp_min | float(1) <= 0 and temp_max | float(-1) > 0) ~ temp_max | round(0) ~ weather_units.temperature) if is_number(temp_max) }}
|
||
- if: "{{ (is_number(temp_min) or is_number(temp_max)) and temperature_string is string and temperature_string | length > 0 }}"
|
||
then:
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ page_name }}.temperature" ### Temperature MIN/MAX ###
|
||
message: "{{ temperature_string }}"
|
||
- *delay-default
|
||
|
||
##### fields 1 to 5 (Parameters) #####
|
||
- repeat:
|
||
for_each: "{{ (parameters | selectattr('visibility', 'eq', true) | list)[:5] }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ page_name }}.value0{{ repeat.index }}"
|
||
message: "{{ repeat.item.value }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ page_name }}.value0{{ repeat.index }}_icon"
|
||
message: "{{ repeat.item.icon }}"
|
||
- *delay-default
|
||
else: # Display "Unavailable"
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "{{ page_name }}.value01"
|
||
message: "{{ mui[language].unavailable }}"
|
||
- *delay-default
|
||
|
||
## PAGE NOTIFICATION ##
|
||
- alias: Notification page
|
||
conditions: "{{ trigger.event.data.new_state.state == nextion.pages.notification }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: notification.notifi_text01
|
||
message: "{{ states(notification_text) | default(mui[language].unavailable) if notification_text is string else mui[language].unavailable }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: notification.notifi_label
|
||
message: "{{ states(notification_label) | default(mui[language].unavailable) if notification_label is string else mui[language].unavailable }}"
|
||
|
||
## PAGE QR Code ##
|
||
- alias: QRCode page
|
||
conditions: "{{ trigger.event.data.new_state.state == nextion.pages.qrcode }}"
|
||
sequence:
|
||
- variables:
|
||
qrcode_label: !input "qrcode_label"
|
||
qrcode_value: !input "qrcode_value"
|
||
- if: "{{ qrcode_label | length > 0 }}"
|
||
then:
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "qrcode_label"
|
||
message: "{{ qrcode_label }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: "qrcode_value"
|
||
message: "{{ qrcode_value }}"
|
||
|
||
## PAGE SETTINGS ##
|
||
#- alias: Settings page
|
||
# conditions: "{{ trigger.event.data.new_state.state == nextion.pages.settings }}"
|
||
# sequence:
|
||
|
||
## PAGE BOOT ##
|
||
#- alias: Boot page
|
||
# conditions: "{{ trigger.event.data.new_state.state == nextion.pages.boot }}"
|
||
# sequence:
|
||
|
||
## PAGE SCREENSAVER ##
|
||
#- alias: Screensaver page
|
||
# conditions: "{{ trigger.event.data.new_state.state == nextion.pages.screensaver }}"
|
||
# sequence:
|
||
|
||
##### BOOT NSPANEL - automation reload #####
|
||
- alias: Automation reloaded
|
||
conditions:
|
||
- condition: trigger
|
||
id: automation_reloaded
|
||
sequence:
|
||
- choose:
|
||
## PAGE HOME ##
|
||
- conditions: "{{ nextion.pages.current == nextion.pages.home }}"
|
||
sequence: *refresh_page_home
|
||
|
||
## PAGE BUTTON PAGES 01 - 04 ##
|
||
- conditions: "{{ nextion.pages.current in nextion.pages.buttonpages }}"
|
||
sequence: *refresh_page_buttonpage
|
||
|
||
## ENTITY PAGES ##
|
||
- conditions: "{{ nextion.pages.current in nextion.pages.entitypages }}"
|
||
sequence: *refresh-entity_pages
|
||
|
||
##### UPDATE BUTTONS AND PAGES - button page / lightsettings page / coversettings page #####
|
||
- alias: "Update buttons & pages"
|
||
conditions:
|
||
- condition: trigger
|
||
id:
|
||
- current_state_entity01
|
||
- current_state_entity02
|
||
- current_state_entity03
|
||
- current_state_entity04
|
||
- current_state_entity05
|
||
- current_state_entity06
|
||
- current_state_entity07
|
||
- current_state_entity08
|
||
- current_state_entity09
|
||
- current_state_entity10
|
||
- current_state_entity11
|
||
- current_state_entity12
|
||
- current_state_entity13
|
||
- current_state_entity14
|
||
- current_state_entity15
|
||
- current_state_entity16
|
||
- current_state_entity17
|
||
- current_state_entity18
|
||
- current_state_entity19
|
||
- current_state_entity20
|
||
- current_state_entity21
|
||
- current_state_entity22
|
||
- current_state_entity23
|
||
- current_state_entity24
|
||
- current_state_entity25
|
||
- current_state_entity26
|
||
- current_state_entity27
|
||
- current_state_entity28
|
||
- current_state_entity29
|
||
- current_state_entity30
|
||
- current_state_entity31
|
||
- current_state_entity32
|
||
- "{{ nextion.pages.current in nextion.pages.buttonpages and trigger.to_state.state not in ['unavailable', 'unknown'] }}"
|
||
sequence:
|
||
- *variables-page_buttons
|
||
- variables:
|
||
buttonpage: "{{ nextion.pages.current }}"
|
||
- repeat:
|
||
for_each: "{{ button_pages_buttons | selectattr('component', 'defined') | selectattr('component', 'match', buttonpage) | selectattr('entity', 'defined') | selectattr('entity', 'eq', trigger.entity_id) | list }}"
|
||
sequence: *display-button_page_button
|
||
##### release button/scene (stateless) #####
|
||
- 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.' }}"
|
||
then:
|
||
- delay:
|
||
milliseconds: "1000"
|
||
|
||
##### SHORT PRESS BUTTON PAGE - toggle enities #####
|
||
- alias: Button page - Short press
|
||
conditions:
|
||
- condition: trigger
|
||
id: short_press
|
||
- "{{ nextion.pages.current in nextion.pages.buttonpages }}"
|
||
sequence:
|
||
- *variables-page_buttons
|
||
- variables:
|
||
##### Entity - Page Button - Toggle Entity #####
|
||
last_click_state: "{{ states(last_click) | default('unavailable') if last_click is string else 'unavailable' }}"
|
||
last_click_coordinates: "{{ last_click_state.replace('releasebuttonpage', '').split('button') if last_click_state not in ['unavailable', 'unknown', None] else [-1, -1] }}"
|
||
last_click_entity_index: "{{ (last_click_coordinates[0] | int(-99) -1)*8 + last_click_coordinates[1] | int(-99) - 1 }}"
|
||
- condition: "{{ last_click_entity_index >= 0 }}"
|
||
- variables:
|
||
last_click_button: "{{ button_pages_buttons[last_click_entity_index] | default([]) }}"
|
||
entity_short: "{{ last_click_button.entity | default('unavailable') if last_click_button and last_click_button.entity is defined }}"
|
||
entity_domain: "{{ (entity_short.split('.')[0] | default('unknown')) if entity_short is string and entity_short | length > 0 else 'unknown' }}"
|
||
- condition: "{{ entity_domain not in ['unknown', 'person', 'binary_sensor', 'sensor'] }}"
|
||
- if: "{{ entity_domain == 'climate' }}"
|
||
then:
|
||
- variables:
|
||
entity_long: "{{ entity_short }}"
|
||
entity_short_state: "{{ states(entity_short) | default('unavailable') if entity_short is string else 'unavailable' }}"
|
||
entity_long_name: "{{ entity_short if entity_short_state in ['unavailable', 'unknown'] else state_attr(entity_short, 'friendly_name') | default(mui[language].no_name) }}"
|
||
entity_back: "{{ nextion.pages.current }}"
|
||
- service: "{{ nextion.commands.set_settings_entity }}"
|
||
data:
|
||
entity: "{{ entity_long }},{{ entity_back }},{{ entity_long_name }}"
|
||
else:
|
||
- if: "{{ last_click_button.confirm }}"
|
||
then:
|
||
- variables:
|
||
buttonpage: "{{ nextion.pages.current }}"
|
||
btn_entity_name: >-
|
||
{%- if state_attr(entity_short, 'friendly_name') != None -%} {{ state_attr(entity_short, 'friendly_name') }}
|
||
{%- elif state_attr(entity_short, 'name') != None -%} {{ state_attr(entity_short, 'name') }}
|
||
{%- else -%} 'unknown'
|
||
{%- endif -%}
|
||
#### turn on switch confirmation_message
|
||
- service: switch.turn_on
|
||
data:
|
||
entity_id: "{{ confirmation_message }}"
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ nextion.pages.notification }}"
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: notification.notifi_text01
|
||
message: "{{ btn_entity_name }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: notification.notifi_label
|
||
message: "{{ mui[language].please_confirm }}"
|
||
- wait_template: "{{ is_state(last_click, ['notificationacceptrelease', 'notificationclearrelease', 'homepage']) }}"
|
||
timeout:
|
||
seconds: 10
|
||
continue_on_timeout: true
|
||
- choose:
|
||
- conditions: "{{ is_state(last_click, 'notificationacceptrelease') }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ buttonpage }}"
|
||
- service: switch.turn_off
|
||
data:
|
||
entity_id: "{{ confirmation_message }}"
|
||
- &service-button_changed
|
||
service: >-
|
||
{% if entity_domain in ['light', 'switch', 'cover', 'input_boolean', 'automation', 'fan'] %}
|
||
{{ entity_domain }}.toggle
|
||
{% elif entity_domain in ['button', 'input_button'] %}
|
||
{{ entity_domain }}.press
|
||
{% elif entity_domain in ['scene', 'script'] %}
|
||
{{ entity_domain }}.turn_on
|
||
{% else %}
|
||
homeassistant.update_entity
|
||
{% endif %}
|
||
data:
|
||
entity_id: "{{ entity_short }}"
|
||
continue_on_error: true
|
||
- conditions: "{{ is_state(last_click, 'notificationclearrelease') }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ buttonpage }}"
|
||
- service: switch.turn_off
|
||
data:
|
||
entity_id: "{{ confirmation_message }}"
|
||
- conditions: "{{ is_state(last_click, 'homepage') }}"
|
||
sequence:
|
||
- service: switch.turn_off
|
||
data:
|
||
entity_id: "{{ confirmation_message }}"
|
||
default:
|
||
- service: switch.turn_off
|
||
data:
|
||
entity_id: "{{ confirmation_message }}"
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ nextion.pages.home }}"
|
||
else:
|
||
- *service-button_changed
|
||
|
||
##### LONG PRESS BUTTON PAGE - save entity for settings pages #####
|
||
- alias: Button page - Long press
|
||
conditions:
|
||
- condition: trigger
|
||
id: long_press
|
||
- "{{ nextion.pages.current in nextion.pages.buttonpages }}"
|
||
sequence:
|
||
- *variables-page_buttons
|
||
- variables:
|
||
last_click_state: "{{ trigger.to_state.state }}"
|
||
last_click_coordinates: "{{ last_click_state.replace('pressbuttonpage', '').split('button') }}"
|
||
last_click_entity_index: "{{ (last_click_coordinates[0] | int(-99) -1)*8 + last_click_coordinates[1] | int(-99) - 1 }}"
|
||
last_click_button: "{{ button_pages_buttons[last_click_entity_index] }}"
|
||
##### Long Press Entity #####
|
||
entity_long: "{{ last_click_button.entity }}"
|
||
entity_domain: "{{ (entity_long.split('.')[0] | default('unknown')) if entity_long | length > 0 else 'unknown' }}"
|
||
##### Long Press Entity Name #####
|
||
entity_long_name: "{{ last_click_button.name }}"
|
||
##### Long Press Entity Icon #####
|
||
entity_long_icon: "{{ last_click_button.icon }}"
|
||
##### Long Press Entity Icon Color #####
|
||
entity_long_icon_color: "{{ last_click_button.icon_color_rgb if is_number(last_click_button.icon_color_rgb) else ((last_click_button.icon_color_rgb[0] //(2**3)) *(2**11))+((last_click_button.icon_color_rgb[1] //(2**2)) *(2**5))+(last_click_button.icon_color_rgb[2] //(2**3)) }}"
|
||
##### Current Page #####
|
||
entity_back: "{{ nextion.pages.current }}"
|
||
- service: "{{ nextion.commands.set_settings_entity }}"
|
||
data:
|
||
entity: "{{ entity_long }},{{ entity_back }},{{ entity_long_name }},{{ entity_long_icon }},{{ entity_long_icon_color }}"
|
||
|
||
##### LASTCLICK_LIGHTSETTINGS - changes on page lightsettings #####
|
||
- alias: Changes on page lightsettings
|
||
conditions:
|
||
- condition: trigger
|
||
id: light_settings
|
||
- "{{ nextion.pages.current == nextion.pages.light }}"
|
||
sequence:
|
||
- choose:
|
||
##### Page Lightsettings - Brightness Slider MOVE #####
|
||
- conditions:
|
||
#- '{{ trigger.event.data.new_state.state is match "brightness\d+" and trigger.event.data.new_state.state == states(last_click_lightsettings) }}'
|
||
- '{{ trigger.event.data.new_state.state is match "brightness\d+" }}'
|
||
sequence:
|
||
- service: light.turn_on
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
brightness: "{{ (trigger.event.data.new_state.state | replace('brightness','') | int / 100 * 255) | round(0) }}"
|
||
#### wird nicht mehr benötigt, da es im nextion editor nun direkt gemacht wird
|
||
# - delay:
|
||
# milliseconds: "{{ delay_value }}"
|
||
# - service: "{{ nextion.commands.text_printf }}"
|
||
# data:
|
||
# component: lightsettings.light_value
|
||
# message: "{{ (trigger.event.data.new_state.state | replace('brightness','') | int * 100 /255) | round(0) }}%'
|
||
# - delay:
|
||
# milliseconds: "{{ delay_value }}"
|
||
# - service: "{{ nextion.commands.text_printf }}"
|
||
# data:
|
||
# 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: "{{ nextion.commands.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:
|
||
- '{{ trigger.event.data.new_state.state is match "colortemp\d+" and trigger.event.data.new_state.state == (states(last_click_lightsettings) | default("unavailable") if last_click_lightsettings is string else "unavailable") }}'
|
||
sequence:
|
||
- service: light.turn_on
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
color_temp: "{{ trigger.event.data.new_state.state | replace('colortemp','') | int }}"
|
||
#### wird nicht mehr benötigt, da es im nextion editor nun direkt gemacht wird
|
||
# - delay:
|
||
# milliseconds: "{{ delay_value }}"
|
||
# - service: "{{ nextion.commands.text_printf }}"
|
||
# data:
|
||
# component: lightsettings.temp_value
|
||
# message: "{{ trigger.event.data.new_state.state | replace('colortemp','') | int }}"
|
||
# - delay:
|
||
# milliseconds: "{{ delay_value }}"
|
||
# - service: "{{ nextion.commands.text_printf }}"
|
||
# data:
|
||
# component: lightsettings.temp_value_2
|
||
# message: "{{ trigger.event.data.new_state.state | replace('colortemp','') | int }}"
|
||
|
||
##### Page Lightsettings - Color RGB Slider MOVE #####
|
||
- conditions:
|
||
- '{{ trigger.event.data.new_state.state is match "\d+,\d+,\d+" }}'
|
||
sequence:
|
||
- service: light.turn_on
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
rgb_color: "{{ trigger.event.data.new_state.state.split(',') }}"
|
||
|
||
##### Page Lightsettings - Close Lightsetting Page #####
|
||
- conditions:
|
||
- "{{ trigger.event.data.new_state.state == 'releaselightsettingsclose' }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ entity_back }}"
|
||
|
||
##### LASTCLICK_COVERSETTINGS - changes on page coversettings #####
|
||
- alias: Changes on page coversettings
|
||
conditions:
|
||
- condition: trigger
|
||
id: cover_settings
|
||
- "{{ nextion.pages.current == nextion.pages.cover }}"
|
||
sequence:
|
||
- choose:
|
||
##### Page Coversettings - Cover Slider MOVE #####
|
||
- conditions:
|
||
# - "{{ trigger.event.data.new_state.state is match 'coverposition\d+' and trigger.event.data.new_state.state == states(last_click_coversettings) }}"
|
||
- '{{ trigger.event.data.new_state.state is match "coverposition\d+" }}'
|
||
sequence:
|
||
- service: cover.set_cover_position
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
position: "{{ trigger.event.data.new_state.state | replace('coverposition','') | int }}"
|
||
#### wird nicht mehr benötigt, da es im nextion editor nun direkt gemacht wird
|
||
# - delay:
|
||
# milliseconds: "{{ delay_value }}"
|
||
# - service: "{{ nextion.commands.text_printf }}"
|
||
# data:
|
||
# component: coversettings.cover_value
|
||
# message: "{{ trigger.event.data.new_state.state | replace('coverposition','') | int }} %'
|
||
# - delay:
|
||
# milliseconds: "{{ delay_value }}"
|
||
# - service: "{{ nextion.commands.text_printf }}"
|
||
# data:
|
||
# component: coversettings.cover_value_2
|
||
# message: "{{ trigger.event.data.new_state.state | replace('coverposition','') | int }} %'
|
||
|
||
##### Page Coversettings - Cover CLOSE Button #####
|
||
- conditions:
|
||
- "{{ trigger.event.data.new_state.state == 'cover_close_press' }}"
|
||
sequence:
|
||
- service: cover.close_cover
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
|
||
##### Page Coversettings - Cover OPEN Button #####
|
||
- conditions:
|
||
- "{{ trigger.event.data.new_state.state == 'cover_open_press' }}"
|
||
sequence:
|
||
- service: cover.open_cover
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
|
||
##### Page Coversettings - Cover STOP Button #####
|
||
- conditions:
|
||
- "{{ trigger.event.data.new_state.state == 'cover_stop_press' }}"
|
||
sequence:
|
||
- service: cover.stop_cover
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
|
||
##### Page Coversettings - Close Coversettings Page #####
|
||
- conditions:
|
||
- "{{ trigger.event.data.new_state.state == 'releasecoversettingsclose' }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ entity_back }}"
|
||
|
||
##### LASTCLICK_CLIMATESETTINGS - changes on page climatesettings #####
|
||
- alias: Changes on page climatesettings
|
||
conditions:
|
||
- condition: trigger
|
||
id: climate_settings
|
||
- "{{ nextion.pages.current == nextion.pages.climate }}"
|
||
sequence:
|
||
- variables:
|
||
entity_long_state: "{{ states(entity_long) | default('unavailable') if entity_long is string else 'unavailable' }}"
|
||
- choose:
|
||
##### Page Climatesettings - hotwater #####
|
||
- conditions: "{{ trigger.event.data.new_state.state == 'releasehotwater' }}"
|
||
sequence:
|
||
- service: >-
|
||
{% if hotwatercharge is match 'switch.' %}
|
||
switch.toggle
|
||
{% elif hotwatercharge is match 'input_boolean.' %}
|
||
input_boolean.toggle
|
||
{% endif %}
|
||
data:
|
||
entity_id: "{{ hotwatercharge }}"
|
||
|
||
##### Page Climatesettings - heating #####
|
||
- conditions: "{{ trigger.event.data.new_state.state == 'releaseheating' }}"
|
||
sequence:
|
||
- if: "{{ entity_long_state == 'off' }}"
|
||
then:
|
||
- service: climate.turn_on ############
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
# - service: climate.set_temperature
|
||
# data:
|
||
# entity_id: !input climate
|
||
# hvac_mode: 'heat'
|
||
# temperature: "{{ state_attr(climate, 'temperature') }}"
|
||
else:
|
||
- service: climate.turn_off ############
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
# - service: climate.set_temperature
|
||
# data:
|
||
# entity_id: !input climate
|
||
# hvac_mode: 'off'
|
||
# temperature: "{{ state_attr(climate, 'temperature') }}"
|
||
|
||
##### Page Climatesettings - increase/decrease temp #####
|
||
- conditions: "{{ trigger.event.data.new_state.state in [ 'releaseincreasetemp', 'releasedecreasetemp'] }}"
|
||
sequence:
|
||
- variables:
|
||
delta: "{{ +0.5 if trigger.event.data.new_state.state == 'releaseincreasetemp' else -0.5 }}"
|
||
- if: "{{ entity_long_state != 'off' }}"
|
||
then:
|
||
- if: "{{ climate_optimistic == true }}" ## TODO - remove from here
|
||
then:
|
||
- variables:
|
||
current_setpoint: "{{ states(display_target_temperature) | default('unavailable') if display_target_temperature is string else 'unavailable' }}"
|
||
- if: "{{ is_number(current_setpoint) }}"
|
||
then:
|
||
- service: "{{ nextion.commands.thermostat_cycle }}"
|
||
data:
|
||
value: "{{ (current_setpoint + delta) | round(1) }}"
|
||
else:
|
||
- variables:
|
||
current_setpoint: "{{state_attr(entity_long, 'temperature') | default('unavailable') if entity_long is string else 'unavailable' }}"
|
||
- if: "{{ is_number(current_setpoint) }}"
|
||
then:
|
||
- service: climate.set_temperature
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
#hvac_mode: 'heat'
|
||
temperature: "{{ (current_setpoint + delta) | round(1) }}"
|
||
|
||
##### Page Climatesettings - climateslider #####
|
||
- conditions: '{{ trigger.event.data.new_state.state is match "climateslider\d+" and trigger.event.data.new_state.state == states(last_click_climatesettings) }}'
|
||
sequence:
|
||
- if: "{{ entity_long_state != 'off' }}"
|
||
then:
|
||
- variables:
|
||
climateslider: "{{ trigger.event.data.new_state.state | replace('climateslider','') | int(-1) }}"
|
||
new_setpoint: "{{ (13.0 + (climateslider * 0.5)) if climateslider >= 0 and climateslider <= 27 }}"
|
||
- if: "{{ climate_optimistic == true }}" ## TODO - remove from here
|
||
then:
|
||
- service: "{{ nextion.commands.thermostat_cycle }}"
|
||
data:
|
||
value: "{{ new_setpoint }}"
|
||
else:
|
||
- service: climate.set_temperature
|
||
data:
|
||
entity_id: "{{ entity_long }}"
|
||
#hvac_mode: 'heat'
|
||
temperature: "{{ new_setpoint }}"
|
||
|
||
#### Page Climate - Close Climate Page #####
|
||
- conditions:
|
||
- "{{ trigger.event.data.new_state.state == 'releaseclimateclose' }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ entity_back }}"
|
||
|
||
##### TRIGGER - HOME PAGE ######
|
||
|
||
##### HOME PAGE - Values #####
|
||
- alias: Home page - Values
|
||
conditions:
|
||
- condition: trigger
|
||
id:
|
||
- home_value01_state
|
||
- home_value02_state
|
||
- home_value03_state
|
||
- "{{ nextion.pages.current == nextion.pages.home }}"
|
||
sequence:
|
||
- *variables-home_page_values
|
||
#- *display-home_page_values
|
||
- repeat:
|
||
for_each: "{{ home_page_values | selectattr('entity', 'defined') | selectattr('entity', 'eq', trigger.entity_id) | list }}"
|
||
sequence:
|
||
- *display-home_page_value
|
||
|
||
##### HOME PAGE - Status bar #####
|
||
- alias: Home page - status bar
|
||
conditions:
|
||
- condition: trigger
|
||
id:
|
||
- relay01_state
|
||
- relay02_state
|
||
- climate_state
|
||
- chip01_state
|
||
- chip02_state
|
||
- chip03_state
|
||
- chip04_state
|
||
- chip05_state
|
||
- chip06_state
|
||
- chip07_state
|
||
- "{{ nextion.pages.current == nextion.pages.home and trigger.event.data.new_state.state not in ['unavailable', 'unknown'] }}"
|
||
sequence:
|
||
- *variables-home_page_status_bar
|
||
- repeat:
|
||
for_each: "{{ home_page_status_bar | selectattr('entity', 'defined') | selectattr('entity', 'eq', trigger.event.data.entity_id) | list }}"
|
||
sequence:
|
||
- *display-home_page_status_bar
|
||
|
||
##### JUMP TO - climate page #####
|
||
- alias: Jump to climate page
|
||
conditions:
|
||
- condition: trigger
|
||
id: open_climate_page
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home and climate | length > 0 }} "
|
||
sequence:
|
||
- variables:
|
||
entity_long: "{{ climate }}"
|
||
entity_long_state: "{{ states(climate) | default('unavailable') if climate is string else 'unavailable' }}"
|
||
entity_long_name: "{{ climate if entity_long_state in ['unavailable', 'unknown', None] else (state_attr(climate, 'friendly_name') | default(mui[language].no_name) if climate is string else mui[language].unavailable )}}"
|
||
entity_back: "{{ nextion.pages.home }}"
|
||
- service: "{{ nextion.commands.set_settings_entity }}"
|
||
data:
|
||
entity: "{{ entity_long }},{{ entity_back }},{{ entity_long_name }}"
|
||
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ nextion.pages.climate }}"
|
||
|
||
##### JUMP TO - Weather Page #####
|
||
- alias: Jump to weather page
|
||
conditions:
|
||
- condition: trigger
|
||
id: open_weather_page
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ nextion.pages.weatherpages[0] }}"
|
||
|
||
##### JUMP TO - QR Code Page #####
|
||
- alias: Jump to QR code page
|
||
conditions:
|
||
- condition: trigger
|
||
id: open_qrcode_page
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home and qrcode_enabled == true }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ nextion.pages.qrcode }}"
|
||
|
||
##### JUMP TO - ENTITY Page #####
|
||
- alias: Jump to entity page
|
||
conditions:
|
||
- condition: trigger
|
||
id: open_entity_page
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home and entitypages_enabled == true }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ nextion.pages.entitypages[0] }}"
|
||
|
||
##### JUMP TO - notification #####
|
||
- alias: Jump to notification page
|
||
conditions:
|
||
- condition: trigger
|
||
id: open_notification_page
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home and notification_text is string and states(notification_text) | length > 0 }}"
|
||
sequence:
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ nextion.pages.notification }}"
|
||
|
||
#### SHOW BUTTON - notification ####
|
||
- alias: Show button - Notification
|
||
conditions:
|
||
- condition: trigger
|
||
id:
|
||
- notification_text_state
|
||
- notification_unread_state
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home and trigger.event.data.new_state.state not in ['unavailable', 'unknown', None] }}"
|
||
sequence:
|
||
- alias: "Set notifiy pic"
|
||
variables:
|
||
notification_text_state: "{{ states(notification_text) | default('unavailable') if notification_text is string else 'unavailable' }}"
|
||
notification_text_available: "{{ notification_text_state not in ['unavailable', 'unknown', None] }}"
|
||
notification_unread_state: "{{ states(notification_unread) | default('unavailable') if notification_unread is string else 'unavailable' }}"
|
||
set_button04_icon: "{{ page_home.buttons[3].icon if notification_unread_state in ['on', 'off'] and notification_text_available else nextion.icons.blank }}"
|
||
set_button04_icon_font: >
|
||
{{
|
||
(page_home.buttons[3].color_rgb[notification_unread_state] if is_number(page_home.buttons[3].color_rgb[notification_unread_state]) else ((page_home.buttons[3].color_rgb[notification_unread_state][0] //(2**3)) *(2**11))+((page_home.buttons[3].color_rgb[notification_unread_state][1] //(2**2)) *(2**5))+(page_home.buttons[3].color_rgb[notification_unread_state][2] //(2**3)))
|
||
if notification_unread_state in ['on', 'off'] and notification_text_available
|
||
else nextion.colors.grey_light
|
||
}}
|
||
##### SET ICON Font - Notify #####
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.button04_icon
|
||
message: "{{ set_button04_icon }}"
|
||
|
||
##### SET ICON Font Color - Notify #####
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.button04_icon
|
||
message: "{{ set_button04_icon_font }}"
|
||
|
||
##### SHOW BUTTON - notification clear #####
|
||
- alias: Show button - Notification clear
|
||
conditions:
|
||
- condition: trigger
|
||
id: btn_notificationclearrelease
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.notification and confirmation_message is string and states(confirmation_message) | default('unavailable') != 'on' }}"
|
||
sequence:
|
||
- service: switch.turn_off
|
||
data:
|
||
entity_id: "{{ notification_unread }}"
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ nextion.pages.home }}"
|
||
|
||
##### SHOW BUTTON - notification accept #####
|
||
- alias: Show button - Notification accept
|
||
conditions:
|
||
- condition: trigger
|
||
id: btn_notificationacceptrelease
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.notification and confirmation_message is string and states(confirmation_message) | default('unavailable') != 'on' }}"
|
||
sequence:
|
||
- service: switch.turn_off
|
||
data:
|
||
entity_id: "{{ notification_unread }}"
|
||
- service: "{{ nextion.commands.notification_clear }}"
|
||
data: {}
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "page {{ nextion.pages.home }}"
|
||
|
||
##### BUTTON - press #####
|
||
- alias: Button - Press
|
||
conditions:
|
||
- condition: trigger
|
||
id:
|
||
- left_button_press
|
||
- right_button_press
|
||
sequence:
|
||
- variables:
|
||
button_context: "{{ page_home.hardware.buttons.left if trigger.id == 'left_button_press' else page_home.hardware.buttons.right }}"
|
||
- wait_template: "{{ is_state(left_button if trigger.id == 'left_button_press' else right_button, 'off') }}"
|
||
timeout: !input hold_delay
|
||
continue_on_timeout: true
|
||
- if: "{{ not wait.completed }}"
|
||
then: # Hold
|
||
- choose:
|
||
- conditions: "{{ button_context.hold_select == 'Default' and button_context.entity | length > 0 }}"
|
||
sequence:
|
||
- variables:
|
||
entity_long: "{{ button_context.entity }}"
|
||
button_status: "{{ states(button_context.entity) | default('unavailable') if button_context.entity is string else 'unavailable' }}"
|
||
entity_long_name: >-
|
||
{%- if button_context.name | length > 0 -%} {{ button_context.name }}
|
||
{%- elif button_status in ['unavailable', 'unknown', None] -%} {{ button_context.entity }}
|
||
{%- else -%} {{ state_attr(button_context.entity, 'friendly_name') | default(mui[language].no_name) }}
|
||
{%- endif -%}
|
||
entity_back: "{{ nextion.pages.home }}"
|
||
entity_long_icon: "{{ nextion.icons.buttons[button_context.entity.split('.')[0] if button_context.entity else 'unknown'] }}"
|
||
entity_long_icon_color: 1055
|
||
- service: "{{ nextion.commands.set_settings_entity }}"
|
||
data:
|
||
entity: "{{ entity_long }},{{ entity_back }},{{ entity_long_name }},{{ entity_long_icon }},{{ entity_long_icon_color }}"
|
||
- conditions: "{{ button_context.hold_select == 'Custom Action' and trigger.id == 'left_button_press' }}"
|
||
sequence: !input left_button_hold_custom_action
|
||
- conditions: "{{ button_context.hold_select == 'Custom Action' and trigger.id == 'right_button_press' }}"
|
||
sequence: !input right_button_hold_custom_action
|
||
else: # Single Click
|
||
- condition: template
|
||
value_template: "{{ button_context.entity | length > 0 }}"
|
||
- variables:
|
||
button_domain: "{{ (button_context.entity.split('.')[0] | default('unknown')) if button_context.entity | length > 0 else 'unknown' }}"
|
||
- service: >
|
||
{% if button_domain in ['light', 'switch', 'cover', 'input_boolean', 'automation', 'fan'] %}
|
||
{{ button_domain }}.toggle
|
||
{% elif button_domain in ['button', 'input_button'] %}
|
||
{{ button_domain }}.press
|
||
{% elif button_domain in ['scene', 'script'] %}
|
||
{{ button_domain }}.turn_on
|
||
{% else %}
|
||
homeassistant.update_entity
|
||
{% endif %}
|
||
data:
|
||
entity_id: "{{ button_context.entity }}"
|
||
|
||
##### BUTTON - state #####
|
||
- alias: Button - State
|
||
conditions:
|
||
- condition: trigger
|
||
id:
|
||
- left_button_state
|
||
- right_button_state
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home }}"
|
||
sequence:
|
||
- variables:
|
||
# Hardware Button PIC
|
||
current_hardware_button_state: "{{ nextion.pics.hardware.button[trigger.to_state.state] }}"
|
||
##### SET hardware Button PIC on Home Page ####
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: "home.{{ 'left' if trigger.id == 'left_button_state' else 'right'}}_bt_pic.pic={{ current_hardware_button_state }}"
|
||
|
||
##### DATE AND TIME #####
|
||
- alias: "Date & Time"
|
||
conditions:
|
||
- condition: trigger
|
||
id: time_state
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home }}"
|
||
sequence:
|
||
### TIME Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.time
|
||
message: "{{ page_home.general.time.label.color_rgb if is_number(page_home.general.time.label.color_rgb) else ((page_home.general.time.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.time.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.time.label.color_rgb[2] //(2**3)) }}"
|
||
### TIME Font ###
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.time
|
||
message: "{{ time }}"
|
||
### TIME Meridiem Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.meridiem
|
||
message: "{{ page_home.general.time.label.color_rgb if is_number(page_home.general.time.label.color_rgb) else ((page_home.general.time.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.time.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.time.label.color_rgb[2] //(2**3)) }}"
|
||
### TIME Meridiem Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.meridiem
|
||
message: "{{ meridiem }}"
|
||
|
||
### DATE Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.date
|
||
message: "{{ page_home.general.date.label.color_rgb if is_number(page_home.general.date.label.color_rgb) else ((page_home.general.date.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.date.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.date.label.color_rgb[2] //(2**3)) }}"
|
||
### DATE Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.date
|
||
message: "{{ (dict.values(mui[language].weekdays) | list)[now().weekday()] ~ ', ' ~ as_timestamp(now()) | timestamp_custom('%d.%m') }}"
|
||
|
||
##### OUTDOOR TEMP - entity #####
|
||
- alias: Outdoor temp - Entity
|
||
conditions:
|
||
- condition: trigger
|
||
id: outdoortemp_state
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home and is_number(trigger.event.data.new_state.state) }}"
|
||
sequence:
|
||
- *variables-weather
|
||
### LABEL Outdoor Temp Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.outdoor_temp
|
||
message: "{{ page_home.general.outdoor_temp.label.color_rgb if is_number(page_home.general.outdoor_temp.label.color_rgb) else ((page_home.general.outdoor_temp.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.outdoor_temp.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.outdoor_temp.label.color_rgb[2] //(2**3)) }}"
|
||
### LABEL Outdoor Temp Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.outdoor_temp
|
||
message: "{{ trigger.event.data.new_state.state | round(1) }}{{ weather_units.temperature }}"
|
||
|
||
##### INDOOR TEMP - entity #####
|
||
- alias: Indoor temp - Entity
|
||
conditions:
|
||
- condition: trigger
|
||
id: indoortemp_state
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home and trigger.event.data.new_state.state not in ['unavailable', 'unknown', None] }}"
|
||
sequence:
|
||
- *variables-weather
|
||
### LABEL Indoor Temp Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.current_temp
|
||
message: "{{ page_home.general.indoor_temp.label.color_rgb if is_number(page_home.general.indoor_temp.label.color_rgb) else ((page_home.general.indoor_temp.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.indoor_temp.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.indoor_temp.label.color_rgb[2] //(2**3)) }}"
|
||
### LABEL Indoor Temp Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.current_temp
|
||
message: "{{ trigger.event.data.new_state.state | round(1) }}{{ weather_units.temperature }}"
|
||
|
||
##### INDOOR TEMP - nspanel #####
|
||
- alias: Indoor temp - NSPanel
|
||
conditions:
|
||
- condition: trigger
|
||
id: nspaneltemp_state
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home and is_number(trigger.event.data.new_state.state) }}"
|
||
sequence:
|
||
- *variables-weather
|
||
- if: "{{ indoortemp is not match 'sensor.' }}"
|
||
then:
|
||
### LABEL Indoor Temp Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.current_temp
|
||
message: "{{ page_home.general.indoor_temp.label.color_rgb if is_number(page_home.general.indoor_temp.label.color_rgb) else ((page_home.general.indoor_temp.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.indoor_temp.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.indoor_temp.label.color_rgb[2] //(2**3)) }}"
|
||
### LABEL Indoor Temp Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.current_temp
|
||
message: "{{ trigger.event.data.new_state.state | round(1) }}{{ weather_units.temperature }}"
|
||
|
||
##### WEATHER STATE - change update #####
|
||
- alias: Weather - State changed
|
||
conditions:
|
||
- condition: trigger
|
||
id: weather_state_change
|
||
- condition: template
|
||
value_template: "{{ nextion.pages.current == nextion.pages.home and trigger.event.data.new_state.state not in ['unavailable', 'unknown', None] }}"
|
||
sequence:
|
||
- *variables-weather
|
||
- if: "{{ outdoortemp is not match 'sensor.' }}"
|
||
then:
|
||
### LABEL Outdoor Temp Font Color ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.font_color }}"
|
||
data:
|
||
component: home.outdoor_temp
|
||
message: "{{ page_home.general.outdoor_temp.label.color_rgb if is_number(page_home.general.outdoor_temp.label.color_rgb) else ((page_home.general.outdoor_temp.label.color_rgb[0] //(2**3)) *(2**11))+((page_home.general.outdoor_temp.label.color_rgb[1] //(2**2)) *(2**5))+(page_home.general.outdoor_temp.label.color_rgb[2] //(2**3)) }}"
|
||
### LABEL Outdoor Temp Font ###
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.outdoor_temp
|
||
message: "{{trigger.event.data.new_state.attributes.temperature | round(1)}}{{ weather_units.temperature }}"
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: climate.outdoor_temp
|
||
message: "{{trigger.event.data.new_state.attributes.temperature | round(1)}}{{ weather_units.temperature }}"
|
||
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: home.weather.pic={{ nextion.pics.weather[trigger.event.data.new_state.state | default('unknown')] }}
|
||
|
||
##### Sync Climate ##### -> muss noch in page changed climate wwenn climate page fertig
|
||
- alias: Climate - Sync
|
||
conditions:
|
||
- condition: trigger
|
||
id: climate_state
|
||
- "{{ trigger.event.data.new_state.state not in ['unavailable', 'unknown', None] }}"
|
||
# - condition: template
|
||
# value_template: "{{ nextion.pages.current == nextion.pages.climate }}"
|
||
# - condition: template
|
||
# value_template: "{{ climate_optimistic == false }}"
|
||
sequence:
|
||
- *variables-weather
|
||
- variables:
|
||
heating_state: "{{ mui[language].climate.states.off if trigger.event.data.new_state.state == 'off' else mui[language].climate.states.on }}"
|
||
heating_bt_pic: >-
|
||
{%- if trigger.event.data.new_state.state == 'off' -%} {{ nextion.pics.heating.button.off }}
|
||
{%- else -%} {{ nextion.pics.heating.button.on }}
|
||
{%- endif -%}
|
||
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: current_temp
|
||
message: "{{ trigger.event.data.new_state.attributes.current_temperature | round(1)}}{{ weather_units.temperature }}"
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: heating_state
|
||
message: "{{heating_state}}"
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: heating_bt_pic.pic={{ heating_bt_pic }}
|
||
- if: "{{ trigger.event.data.new_state.state != 'off' }}" #### TODO AND->OR (not) not optimistic-mode
|
||
then:
|
||
- service: "{{ nextion.commands.thermostat_cycle }}"
|
||
data:
|
||
value: "{{trigger.event.data.new_state.attributes.temperature | round(1)}}"
|
||
else:
|
||
- service: "{{ nextion.commands.thermostat_cycle }}"
|
||
data:
|
||
value: "0"
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: target_temp
|
||
message: " "
|
||
|
||
##### Sync Hotwater Charge button-symbol ##### -> kann wenn climate page fertig
|
||
- alias: Hotwater - Sync
|
||
conditions:
|
||
- condition: trigger
|
||
id: hotwatercharge_state
|
||
- "{{ nextion.pages.current == nextion.pages.climate }}"
|
||
sequence:
|
||
- variables:
|
||
hotw_bt_pic: "{{ nextion.pics.hvac.button[trigger.event.data.new_state.state] }}"
|
||
- service: "{{ nextion.commands.printf }}"
|
||
data:
|
||
cmd: hotw_bt_pic.pic={{ hotw_bt_pic }}
|
||
|
||
##### Hotwater Temp ##### kann raus und wird durch neue value 01 und value 02 ersetzt wenn climate page fertig
|
||
- alias: Hotwater - Temp
|
||
conditions:
|
||
- condition: trigger
|
||
id: hotwatertemp_state
|
||
- "{{ nextion.pages.current == nextion.pages.climate and trigger.event.data.new_state.state not in ['unavailable', 'unknown', None] }}"
|
||
sequence:
|
||
- *variables-weather
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: home.hotwater_temp
|
||
message: "{{ trigger.event.data.new_state.state | round(1) }}{{ weather_units.temperature }}"
|
||
- *delay-default
|
||
- service: "{{ nextion.commands.text_printf }}"
|
||
data:
|
||
component: climate.hotwater_temp
|
||
message: "{{ trigger.event.data.new_state.state | round(1) }}{{ weather_units.temperature }}"
|
||
# - delay:
|
||
# milliseconds: "{{ delay_value }}"
|
||
# - service: "{{ nextion.commands.printf }}"
|
||
# data:
|
||
# cmd: home.hotwater_pic.pic={{ hotwater_pic_on }}
|
||
|
||
#### TFT Upload Automation #####
|
||
- alias: TFT auto-upload
|
||
conditions:
|
||
- condition: trigger
|
||
id: tft_upload
|
||
sequence:
|
||
- delay:
|
||
seconds: 2
|
||
- service: "{{ nextion.commands.tft_upload }}"
|
||
data: {}
|
||
|
||
|
||
#############################################################
|
||
##### CLOSE - Action #####
|
||
#############################################################
|