diff --git a/docs/api.md b/docs/api.md index 72c1d48..b601156 100644 --- a/docs/api.md +++ b/docs/api.md @@ -417,6 +417,11 @@ for the QR code button. Icon codepoint from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html) for the entities page button. - `entities_pages_icon_color` (int[]): RGB color array for the entities page button icon. +- `utilities` (bool): Flag indicating whether the utilities page button is enabled. +- `utilities_icon` (string): +Icon codepoint from [HASwitchPlate Material Design Icons](https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html) +for the utilities page button. +- `utilities_icon_color` (int[]): RGB color array for utilities page button icon. - `outdoor_temp_font` (int): Font Id for outdoor temperature indication on the "Home" page. **Home Assistant Example:** @@ -437,6 +442,10 @@ data: qrcode_icon_color: [0, 255, 0] # Green entities_pages_icon: "\uEDCF" # Example for mdi:format-list-bulleted-square entities_pages_icon_color: [0, 0, 255] # Blue + utilities: true + utilities_icon: "\uE299" # Example for mdi:gauge + utilities_icon_color: [255, 255, 255] # White + outdoor_temp_font: 5 ``` > [!NOTE] diff --git a/esphome/nspanel_esphome_core.yaml b/esphome/nspanel_esphome_core.yaml index 74c28f8..7b8f452 100644 --- a/esphome/nspanel_esphome_core.yaml +++ b/esphome/nspanel_esphome_core.yaml @@ -417,6 +417,9 @@ api: qrcode_icon_color: int[] # RGB color array for QR code button icon. entities_pages_icon: string # Icon codepoint for entities page button, sourced from HASwitchPlate Material Design Icons. entities_pages_icon_color: int[] # RGB color array for entities page button icon. + utilities: bool # Enable/disable flag for utilities page button display. + utilities_icon: string # Icon codepoint for utilities page button, sourced from HASwitchPlate Material Design Icons. + utilities_icon_color: int[] # RGB color array for utilities page button icon. outdoor_temp_font: int # Font Id for outdoor temperature indication on the "Home" page. then: - lambda: |- @@ -478,6 +481,13 @@ api: entities_pages_icon_color[1], entities_pages_icon_color[2]))); + // Utilities button + disp1->send_command_printf("is_utilities=%i", utilities ? 1 : 0); + disp1->set_component_text_printf("home.bt_utilities", "%s", utilities_icon.c_str()); + disp1->set_component_font_color("home.bt_utilities", esphome::display::ColorUtil::color_to_565(esphome::Color(utilities_icon_color[0], + utilities_icon_color[1], + utilities_icon_color[2]))); + blueprint_status->publish_state(int(blueprint_status->raw_state) | (1 << 1)); } diff --git a/hmi/dev/nspanel_eu_code/Program.s.txt b/hmi/dev/nspanel_eu_code/Program.s.txt index a55af3f..f349afd 100644 --- a/hmi/dev/nspanel_eu_code/Program.s.txt +++ b/hmi/dev/nspanel_eu_code/Program.s.txt @@ -9,7 +9,7 @@ Program.s int back_page_id=0 int dimdelta=0 int api=0 // 0 = disconnected from HA, 1 = connected to HA - int is_qrcode=0,is_notification=0 + int is_qrcode=0,is_notification=0,is_utilities=0 int brightness=100,brightness_dim=40,brightness_sleep=0 int display_mode=1 // 1 = EU, 2 = US, 3 = US landscape, 4 = blank int charset=1 // 1 = International (original), 2 = CJK diff --git a/hmi/dev/nspanel_eu_code/home.txt b/hmi/dev/nspanel_eu_code/home.txt index 7330af0..6bd21a1 100644 --- a/hmi/dev/nspanel_eu_code/home.txt +++ b/hmi/dev/nspanel_eu_code/home.txt @@ -22,6 +22,7 @@ Page home } vis bt_notific,is_notification vis bt_qrcode,is_qrcode + vis bt_utilities,is_utilities if(display_mode==3) { vis left_bt_text,0 @@ -611,6 +612,23 @@ Text unavailable Text : Max. Text Size : 1 +Text bt_utilities + Attributes + ID : 45 + Scope : global + Dragging : 0 + Send Component ID : on press and release + Associated Keyboard: none + Text : + Max. Text Size : 3 + + Events + Touch Release Event + if(api==1) + { + page utilities + } + Picture weather Attributes ID : 7 diff --git a/hmi/dev/nspanel_us_code/Program.s.txt b/hmi/dev/nspanel_us_code/Program.s.txt index e02b4ae..edb9fe1 100644 --- a/hmi/dev/nspanel_us_code/Program.s.txt +++ b/hmi/dev/nspanel_us_code/Program.s.txt @@ -9,7 +9,7 @@ Program.s int back_page_id=0 int dimdelta=0 int api=0 // 0 = disconnected from HA, 1 = connected to HA - int is_qrcode=0,is_notification=0 + int is_qrcode=0,is_notification=0,is_utilities=0 int brightness=100,brightness_dim=40,brightness_sleep=0 int display_mode=2 // 1 = EU, 2 = US, 3 = US landscape, 4 = blank int charset=1 // 1 = International (original), 2 = CJK diff --git a/hmi/dev/nspanel_us_code/home.txt b/hmi/dev/nspanel_us_code/home.txt index 7330af0..6bd21a1 100644 --- a/hmi/dev/nspanel_us_code/home.txt +++ b/hmi/dev/nspanel_us_code/home.txt @@ -22,6 +22,7 @@ Page home } vis bt_notific,is_notification vis bt_qrcode,is_qrcode + vis bt_utilities,is_utilities if(display_mode==3) { vis left_bt_text,0 @@ -611,6 +612,23 @@ Text unavailable Text : Max. Text Size : 1 +Text bt_utilities + Attributes + ID : 45 + Scope : global + Dragging : 0 + Send Component ID : on press and release + Associated Keyboard: none + Text : + Max. Text Size : 3 + + Events + Touch Release Event + if(api==1) + { + page utilities + } + Picture weather Attributes ID : 7 diff --git a/hmi/dev/nspanel_us_land_code/Program.s.txt b/hmi/dev/nspanel_us_land_code/Program.s.txt index 70de541..6f5ca01 100644 --- a/hmi/dev/nspanel_us_land_code/Program.s.txt +++ b/hmi/dev/nspanel_us_land_code/Program.s.txt @@ -9,7 +9,7 @@ Program.s int back_page_id=0 int dimdelta=0 int api=0 // 0 = disconnected from HA, 1 = connected to HA - int is_qrcode=0,is_notification=0 + int is_qrcode=0,is_notification=0,is_utilities=0 int brightness=100,brightness_dim=40,brightness_sleep=0 int display_mode=3 // 1 = EU, 2 = US, 3 = US landscape, 4 = blank int charset=1 // 1 = International (original), 2 = CJK diff --git a/hmi/dev/nspanel_us_land_code/home.txt b/hmi/dev/nspanel_us_land_code/home.txt index 7330af0..6bd21a1 100644 --- a/hmi/dev/nspanel_us_land_code/home.txt +++ b/hmi/dev/nspanel_us_land_code/home.txt @@ -22,6 +22,7 @@ Page home } vis bt_notific,is_notification vis bt_qrcode,is_qrcode + vis bt_utilities,is_utilities if(display_mode==3) { vis left_bt_text,0 @@ -611,6 +612,23 @@ Text unavailable Text : Max. Text Size : 1 +Text bt_utilities + Attributes + ID : 45 + Scope : global + Dragging : 0 + Send Component ID : on press and release + Associated Keyboard: none + Text : + Max. Text Size : 3 + + Events + Touch Release Event + if(api==1) + { + page utilities + } + Picture weather Attributes ID : 7 diff --git a/hmi/nspanel_eu.HMI b/hmi/nspanel_eu.HMI index 444aa5d..942219f 100644 Binary files a/hmi/nspanel_eu.HMI and b/hmi/nspanel_eu.HMI differ diff --git a/hmi/nspanel_eu.tft b/hmi/nspanel_eu.tft index 7c3a776..f2558ff 100644 Binary files a/hmi/nspanel_eu.tft and b/hmi/nspanel_eu.tft differ diff --git a/hmi/nspanel_us.HMI b/hmi/nspanel_us.HMI index 16fcb9d..4af68a4 100644 Binary files a/hmi/nspanel_us.HMI and b/hmi/nspanel_us.HMI differ diff --git a/hmi/nspanel_us.tft b/hmi/nspanel_us.tft index 1e8e1e6..1f6785a 100644 Binary files a/hmi/nspanel_us.tft and b/hmi/nspanel_us.tft differ diff --git a/hmi/nspanel_us_land.HMI b/hmi/nspanel_us_land.HMI index 673a3b8..4e956ac 100644 Binary files a/hmi/nspanel_us_land.HMI and b/hmi/nspanel_us_land.HMI differ diff --git a/hmi/nspanel_us_land.tft b/hmi/nspanel_us_land.tft index d7538c2..d445fde 100644 Binary files a/hmi/nspanel_us_land.tft and b/hmi/nspanel_us_land.tft differ diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index 5328cc0..1961db9 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -257,7 +257,7 @@ blueprint: *HOME page* *Choose a color for the sensor's display text.* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector home_value01_icon: name: Sensor 01 - ICON (Optional) @@ -273,7 +273,7 @@ blueprint: *HOME page* *Icon color which should be displayed* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector home_value02: name: Sensor 02 - ENTITY (Optional) @@ -289,7 +289,7 @@ blueprint: *HOME page* *Choose a color for the sensor's display text.* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector home_value02_icon: name: Sensor 02 - ICON (Optional) @@ -305,7 +305,7 @@ blueprint: *HOME page* *Icon color which should be displayed* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector home_value03: name: Sensor 03 - ENTITY (Optional) @@ -321,7 +321,7 @@ blueprint: *HOME page* *Choose a color for the sensor's display text.* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector home_value03_icon: name: Sensor 03 - ICON (Optional) @@ -337,7 +337,7 @@ blueprint: *HOME page* *Icon color which should be displayed* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector ##### Chips - Page Home ##### ##### PLACEHOLDER ###################################################################### @@ -921,7 +921,7 @@ blueprint: *CLIMATE page* *Icon color which should be displayed* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector climate_value01_label_color: name: Sensor 01 - Text Color (Optional) @@ -929,7 +929,7 @@ blueprint: *CLIMATE page* *Choose a color for the sensor's display text.* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector ## Climate page - Sensor 02 climate_value02: @@ -954,7 +954,7 @@ blueprint: *CLIMATE page* *Icon color which should be displayed* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector climate_value02_label_color: name: Sensor 02 - Text Color (Optional) @@ -962,7 +962,7 @@ blueprint: *CLIMATE page* *Choose a color for the sensor's display text.* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector ## Climate page - Sensor 03 climate_value03: @@ -987,7 +987,7 @@ blueprint: *CLIMATE page* *Icon color which should be displayed* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector climate_value03_label_color: name: Sensor 03 - Text Color (Optional) @@ -995,7 +995,7 @@ blueprint: *CLIMATE page* *Choose a color for the sensor's display text.* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector ## Climate page - Sensor 04 climate_value04: @@ -1020,7 +1020,7 @@ blueprint: *CLIMATE page* *Icon color which should be displayed* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector climate_value04_label_color: name: Sensor 04 - Text Color (Optional) @@ -1028,7 +1028,7 @@ blueprint: *CLIMATE page* *Choose a color for the sensor's display text.* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector ##### QR Code - Page Home/QR Code ##### @@ -1045,7 +1045,7 @@ blueprint: description: > *HOME page* - *activate QR Code page and QR Code Button on the home page* + *Activate QR Code page and QR Code Button on the home page* selector: boolean: qrcode_label: @@ -1079,8 +1079,8 @@ blueprint: description: > *HOME page* - *Icon color which should be displayed (default color is set)* - default: [200, 204, 200] # 52857 Grey super light + *Icon color which should be displayed* + default: [200, 204, 200] selector: *color_selector ##### Page Home - Hardware Buttons ##### @@ -1181,7 +1181,7 @@ blueprint: *HOME page* *Choose a color for the button's display text.* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector relay_2_local_fallback: name: Activate relay 2 local fallback - Enable/Disable (Optional) @@ -1236,7 +1236,7 @@ blueprint: *HOME page* *Choose a color for the button's display text.* - default: [200, 204, 200] # 52857 Grey super light + default: [200, 204, 200] selector: *color_selector ##### Button pages ##### @@ -2424,8 +2424,8 @@ blueprint: description: > *HOME page* - *Icon color which should be displayed (default color is set)* - default: [200, 204, 200] # 52857 Grey super light + *Icon color which should be displayed* + default: [200, 204, 200] selector: *color_selector entitypages_value_alignment: name: Value column alignment @@ -3056,6 +3056,32 @@ blueprint: description: '# ✅ Page Utilities ✅' default: ' ' selector: *placeholder-selector + ##### Utilities icon on home page ##### + utilities_enabled: + name: Enable Utilites page (Optional) + default: false + description: > + *HOME page* + + *Activate Utilities page and Utilities button on the home page* + selector: + boolean: + home_button08_icon: + name: Home page - Utilities icon (Optional) + description: > + *HOME page* + + *Icon which should be displayed on the Home page (Default mdi:gauge)* + default: mdi:gauge + selector: *icon-selector + home_button08_icon_color: + name: Home page - Utilities icon color (Optional) + description: > + *HOME page* + + *Icon color which should be displayed* + default: [200, 204, 200] + selector: *color_selector ##### Utilities page 01 ##### utilities_page01_label: name: Utilities page - Label (Optional) @@ -3322,15 +3348,15 @@ blueprint: description: > *HOME page* - *Icon color which should be displayed (default color is set)* - default: [200, 204, 200] # 52857 Grey super light + *Icon color which should be displayed* + default: [200, 204, 200] selector: *color_selector home_button04_icon_color02: name: Notification unread - ICON COLOR (Optional) description: > *HOME page* - *Icon color which should be displayed (default color is set)* + *Icon color which should be displayed* default: [248, 0, 0] # 63488 Red selector: *color_selector ##### Relay 1 Chip ###### @@ -3340,14 +3366,14 @@ blueprint: *HOME page* *Icon which should be displayed (Default mdi:numeric-1-box-outline)* - default: mdi:numeric-1-box-outline # E3A5 + default: mdi:numeric-1-box-outline selector: *icon-selector relay01_icon_color: name: Relay 01 - ICON COLOR (Optional) description: > *HOME page* - *Icon color which should be displayed (default color is set)* + *Icon color which should be displayed* default: [] selector: *color_selector ##### Relay 2 Chip ###### @@ -3364,7 +3390,7 @@ blueprint: description: > *HOME page* - *Icon color which should be displayed (default color is set)* + *Icon color which should be displayed* default: [] selector: *color_selector ##### Time label ###### @@ -7807,85 +7833,61 @@ action: entity: '{{ hw_button_left_entity }}' entity_is_valid: '{{ hw_button_left_entity is defined and hw_button_left_entity is string and hw_button_left_entity.split(".") | count == 2 }}' name: !input 'left_button_name' - color_rgb: !input 'left_button_color' hold_select: !input 'left_button_hold_select' right: entity: '{{ hw_button_right_entity }}' entity_is_valid: '{{ hw_button_right_entity is defined and hw_button_right_entity is string and hw_button_right_entity.split(".") | count == 2 }}' name: !input 'right_button_name' - color_rgb: !input 'right_button_color' hold_select: !input 'right_button_hold_select' - relays: - relay1: - icon: !input 'relay01_icon' - icon_color_rgb: !input 'relay01_icon_color' - fallback: !input 'relay_1_local_fallback' - relay2: - icon: !input 'relay02_icon' - icon_color_rgb: !input 'relay02_icon_color' - fallback: !input 'relay_2_local_fallback' + relay1_icon: !input relay01_icon + relay2_icon: !input relay02_icon - variables: - chip_font_size: !input chip_font_size - custom_buttons_font_size: !input custom_buttons_font_size - bt_notific: - icon: !input 'home_button04_icon' - color_normal: !input 'home_button04_icon_color01' - color_unread: !input 'home_button04_icon_color02' - bt_entities: - icon: !input 'home_button06_icon' - color_rgb: !input 'home_button06_icon_color' - bt_qrcode: - enabled: !input 'qrcode_enabled' - icon: !input 'home_button05_icon' - color_rgb: !input 'home_button05_icon_color' - title: !input 'qrcode_label' - qrcode: !input 'qrcode_value' - display: - date: - format: - color_rgb: !input 'date_label_color' - time: - format: !input 'time_format' - color_rgb: !input 'time_label_color' - screensaver_display_time_font_size: !input screensaver_display_time_font_size - - - &variables_outdoor_temp - variables: - home_outdoor_temp_font: !input 'home_outdoor_temp_font' + bt_utilities_icon: !input home_button06_icon_color + bt_notific_icon: !input home_button04_icon + bt_entities_icon: !input home_button06_icon + bt_qrcode_icon: !input home_button05_icon - service: '{{ nspanel.service.init.page.home }}' data: - date_color: '{{ display.date.color_rgb }}' - time_format: '{{ display.time.format }}' - time_color: '{{ display.time.color_rgb }}' + date_color: !input date_label_color + time_format: !input time_format + time_color: !input time_label_color meridiem: '{{ dict.values(mui[language].meridiem) | list }}' - chip_font: '{{ chip_font_size }}' - custom_buttons_font: '{{ custom_buttons_font_size }}' + chip_font: !input chip_font_size + custom_buttons_font: !input custom_buttons_font_size notification_icon: > {{ - all_icons[bt_notific.icon.split(":")[1]] | default(bt_notific.icon - if bt_notific.icon is string - else all_icons["email"]) + all_icons[bt_notific_icon.split(":")[1]] + if bt_notific_icon is string and bt_notific_icon.split(":")[1] in all_icons + else all_icons.email }} - notification_icon_color_normal: '{{ bt_notific.color_normal }}' - notification_icon_color_unread: '{{ bt_notific.color_unread }}' - qrcode: '{{ bt_qrcode.enabled }}' + notification_icon_color_normal: !input home_button04_icon_color01 + notification_icon_color_unread: !input home_button04_icon_color02 + qrcode: !input qrcode_enabled qrcode_icon: > {{ - all_icons[bt_qrcode.icon.split(":")[1]] | default(bt_qrcode.icon - if bt_qrcode.icon is string - else all_icons["format-list-bulleted-square"]) + all_icons[bt_bt_qrcode_icon.split("mdi:")[1]] + if bt_bt_qrcode_icon is string and bt_bt_qrcode_icon.split("mdi:")[1] in all_icons + else all_icons["qrcode-scan"] }} - qrcode_icon_color: '{{ bt_qrcode.color_rgb }}' + qrcode_icon_color: !input home_button05_icon_color entities_pages_icon: > {{ - all_icons[bt_entities.icon.split(":")[1]] | default(bt_entities.icon - if bt_entities.icon is string - else all_icons["format-list-bulleted-square"]) + all_icons[bt_entities_icon.split("mdi:")[1]] + if bt_entities_icon is string and bt_entities_icon.split("mdi:")[1] in all_icons + else all_icons["format-list-bulleted-square"] }} - entities_pages_icon_color: '{{ bt_entities.color_rgb }}' - outdoor_temp_font: '{{ int(home_outdoor_temp_font) if is_number(home_outdoor_temp_font) else 4 }}' + entities_pages_icon_color: !input home_button06_icon_color + utilities: !input utilities_enabled + utilities_icon: > + {{ + all_icons[bt_utilities_icon.split("mdi:")[1]] + if bt_utilities_icon is string and bt_utilities_icon.split("mdi:")[1] in all_icons + else all_icons.gauge + }} + utilities_icon_color: !input home_button08_icon_color + outdoor_temp_font: !input home_outdoor_temp_font continue_on_error: true ##### NSPanel Left Button Name ##### @@ -7895,7 +7897,7 @@ action: - service: '{{ nspanel.service.component.color }}' data: id: home.left_bt_text - color: '{{ [ hardware.buttons.left.color_rgb ] if is_number(hardware.buttons.left.color_rgb) else hardware.buttons.left.color_rgb }}' + color: !input left_button_color continue_on_error: true ### LABEL Font ### - service: '{{ nspanel.service.component.text }}' @@ -7911,7 +7913,7 @@ action: - service: '{{ nspanel.service.component.color }}' data: id: home.right_bt_text - color: '{{ [ hardware.buttons.right.color_rgb ] if is_number(hardware.buttons.right.color_rgb) else hardware.buttons.right.color_rgb }}' + color: !input right_button_color continue_on_error: true ### LABEL Font ### - service: '{{ nspanel.service.component.text }}' @@ -7922,8 +7924,8 @@ action: - service: '{{ nspanel.service.qrcode }}' data: - title: '{{ bt_qrcode.title }}' - qrcode: '{{ bt_qrcode.qrcode }}' + title: !input qrcode_label + qrcode: !input qrcode_value show: false continue_on_error: true @@ -7940,48 +7942,12 @@ action: - service: '{{ nspanel.service.init.hardware }}' data: relay1_local_control: '{{ hardware.buttons.left.entity == relay01_entity }}' - relay1_icon: > - {{ - all_icons[hardware.relays.relay1.icon.split(":")[1]] | default("\uE3A5") - if hardware.relays.relay1.icon.split(":") | count > 0 - else - ( - hardware.relays.relay1.icon - if hardware.relays.relay1.icon is string - else "\uE3A5" - ) - }} - relay1_icon_color: > - {{ - hardware.relays.relay1.icon_color_rgb - if - hardware.relays.relay1.icon_color_rgb is defined and - hardware.relays.relay1.icon_color_rgb is sequence and - hardware.relays.relay1.icon_color_rgb | count == 3 - else nextion.color.on - }} + relay1_icon: '{{ all_icons[hardware.relay1_icon.split("mdi:")[1]] if hardware.relay1_icon.split("mdi:")[1] in all_icons else all_icons["numeric-1-box-outline"] }}' + relay1_icon_color: !input relay01_icon_color relay1_fallback: !input relay_1_local_fallback relay2_local_control: '{{ hardware.buttons.right.entity == relay02_entity }}' - relay2_icon: > - {{ - all_icons[hardware.relays.relay2.icon.split(":")[1]] | default("\uE3A8") - if hardware.relays.relay2.icon.split(":") | count > 0 - else - ( - hardware.relays.relay2.icon - if hardware.relays.relay2.icon is string - else "\uE3A8" - ) - }} - relay2_icon_color: > - {{ - hardware.relays.relay2.icon_color_rgb - if - hardware.relays.relay2.icon_color_rgb is defined and - hardware.relays.relay2.icon_color_rgb is sequence and - hardware.relays.relay2.icon_color_rgb | count == 3 - else nextion.color.on - }} + relay2_icon: '{{ all_icons[hardware.relay2_icon.split("mdi:")[1]] if hardware.relay2_icon.split("mdi:")[1] in all_icons else all_icons["numeric-2-box-outline"] }}' + relay2_icon_color: !input relay02_icon_color relay2_fallback: !input relay_2_local_fallback button_left: '{{ hardware.buttons.left.entity is defined and hardware.buttons.left.entity is string and hardware.buttons.left.entity.split(".") | count == 2 }}' button_right: '{{ hardware.buttons.right.entity is defined and hardware.buttons.right.entity is string and hardware.buttons.right.entity.split(".") | count == 2 }}' @@ -8008,7 +7974,7 @@ action: mui_please_confirm: '{{ mui[language].please_confirm }}' mui_unavailable: '{{ mui[language].unavailable }}' screensaver_time: !input screensaver_display_time - screensaver_time_font: '{{ int(screensaver_display_time_font_size) }}' + screensaver_time_font: !input screensaver_display_time_font_size screensaver_time_color: !input screensaver_display_time_font_color decimal_separator: !input decimal_separator continue_on_error: true