diff --git a/esphome/nspanel_esphome_core.yaml b/esphome/nspanel_esphome_core.yaml index 29bdd8f..7a5b0d4 100644 --- a/esphome/nspanel_esphome_core.yaml +++ b/esphome/nspanel_esphome_core.yaml @@ -54,6 +54,7 @@ esphome: platformio_options: build_flags: - -Wno-missing-field-initializers + # - -mfix-esp32-psram-cache-issue # - -fdata-sections # - -ffunction-sections # - -Wl,--gc-sections @@ -100,8 +101,6 @@ esp32: board: esp32dev framework: type: esp-idf - sdkconfig_options: - CONFIG_ESP32_REV_MIN_3: "y" ##### WIFI SETUP ##### wifi: @@ -2659,13 +2658,15 @@ script: - lambda: return (!id(is_uploading_tft)); then: - lambda: |- - if (brightness == display_brightness->state and current_page->state != "boot" and current_page->state != "screensaver") - disp1->send_command_printf("wakeup_timer.en=1"); - else - disp1->set_backlight_brightness(brightness / 100.0f); - current_brightness->update(); + if (!id(is_uploading_tft)) { + if (brightness == display_brightness->state and current_page->state != "boot" and current_page->state != "screensaver") + disp1->send_command_printf("wakeup_timer.en=1"); + else + disp1->set_backlight_brightness(brightness / 100.0f); + current_brightness->update(); + } - delay: 5s - - lambda: current_brightness->update(); + - lambda: if (!id(is_uploading_tft)) current_brightness->update(); - id: set_climate mode: restart diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index 3edc22b..f2217b1 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -7124,6 +7124,8 @@ trigger: not_to: - unknown - unavailable + for: + seconds: 2 id: climate_value01_state ##### Climate Value 02 ##### - platform: state @@ -7131,6 +7133,8 @@ trigger: not_to: - unknown - unavailable + for: + seconds: 2 id: climate_value02_state ##### Climate Value 03 ##### - platform: state @@ -7138,6 +7142,8 @@ trigger: not_to: - unknown - unavailable + for: + seconds: 2 id: climate_value03_state ##### Climate Value 04 ##### - platform: state @@ -7145,6 +7151,8 @@ trigger: not_to: - unknown - unavailable + for: + seconds: 2 id: climate_value04_state ##### Trigger - Climate - Custom buttons - State change ################################################################################################################# @@ -7154,6 +7162,8 @@ trigger: not_to: - unknown - unavailable + for: + seconds: 2 id: climate_button08_state ##### Climate Button page 2, Button 1 ##### - platform: state @@ -7161,6 +7171,8 @@ trigger: not_to: - unknown - unavailable + for: + seconds: 2 id: climate_button09_state ##### Trigger - Hardware buttons ################################################################################################################# @@ -7190,76 +7202,120 @@ trigger: - platform: state entity_id: !input utilities_page01_home_value1 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_home_value2 id: utilities_page + for: + seconds: 2 ##### Page utilities - Grid ##### - platform: state entity_id: !input utilities_page01_grid_value1 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_grid_value2 id: utilities_page + for: + seconds: 2 ##### Page utilities - Group 01 ##### - platform: state entity_id: !input utilities_page01_group01_value1 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group01_value2 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group01_line_reference id: utilities_page + for: + seconds: 2 ##### Page utilities - Group 02 ##### - platform: state entity_id: !input utilities_page01_group02_value1 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group02_value2 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group02_line_reference id: utilities_page + for: + seconds: 2 ##### Page utilities - Group 03 ##### - platform: state entity_id: !input utilities_page01_group03_value1 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group03_value2 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group03_line_reference id: utilities_page + for: + seconds: 2 ##### Page utilities - Group 04 ##### - platform: state entity_id: !input utilities_page01_group04_value1 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group04_value2 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group04_line_reference id: utilities_page + for: + seconds: 2 ##### Page utilities - Group 05 ##### - platform: state entity_id: !input utilities_page01_group05_value1 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group05_value2 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group05_line_reference id: utilities_page + for: + seconds: 2 ##### Page utilities - Group 06 ##### - platform: state entity_id: !input utilities_page01_group06_value1 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group06_value2 id: utilities_page + for: + seconds: 2 - platform: state entity_id: !input utilities_page01_group06_line_reference id: utilities_page + for: + seconds: 2 ##### Trigger - Time ################################################################################################################# @@ -7308,34 +7364,22 @@ trigger: # yamllint enable rule:indentation rule:comments-indentation condition: - - '{{ device_name_sensor is defined and device_name_sensor is string and has_value(device_name_sensor) and states(device_name_sensor) | default("") is string }}' + - '{{ device_name_sensor is defined }}' + - '{{ device_name_sensor is string }}' + - '{{ has_value(device_name_sensor) }}' + - '{{ states(device_name_sensor) | default("") is string }}' - condition: or # Update page Home only when visible or home_page_background_update is enabled conditions: - - '{{ home_page_background_update or pages.current == pages.home }}' - '{{ trigger.id != "home_values_state" }}' + - '{{ home_page_background_update or pages.current == pages.home }}' - condition: or # Do not update with indoor temp changes when embedded indoor temp is used conditions: - '{{ trigger.id != "indoortemp_state" }}' - '{{ (home_page_background_update or pages.current == pages.home ) and not embedded_indoor_temperature }}' - - condition: or # Do not update component if state haven't changed (ignore attributes changed) - event based triggers + - condition: or # Do not update values when page utilities is not visible conditions: - - condition: not - conditions: - - condition: trigger - id: home_custom_buttons - - condition: and - conditions: - - '{{ home_page_background_update or pages.current == pages.home }}' - - '{{ trigger.event is defined and trigger.event.data is defined }}' - - '{{ trigger.event.data.entity_id is defined }}' - - '{{ trigger.event.data.entity_id is not match "media_player." }}' - - condition: and - conditions: - - '{{ home_page_background_update or pages.current == pages.home }}' - - '{{ trigger.event is defined and trigger.event.data is defined }}' - - '{{ trigger.event.data.new_state is defined and trigger.event.data.new_state.state is defined }}' - - '{{ trigger.event.data.old_state is defined and trigger.event.data.old_state.state is defined }}' - - '{{ trigger.event.data.new_state.state != trigger.event.data.old_state.state }}' + - '{{ trigger.id != "utilities_page" }}' + - '{{ pages.current == pages.utilities }}' - condition: or # Do not update values when page entities is not visible conditions: - condition: not @@ -7400,10 +7444,25 @@ condition: - current_state_entity32 - '{{ pages.current in pages.buttonpages }}' - '{{ pages.current in [pages.light, pages.cover, pages.climate, pages.fan, pages.alarm] and trigger.entity_id is defined and trigger.entity_id == states(detailed_entity) }}' - - condition: or # Do not update values when page utilities is not visible + - condition: or # Do not update component if state haven't changed (ignore attributes changed) - event based triggers conditions: - - '{{ trigger.id != "utilities_page" }}' - - '{{ pages.current == pages.utilities }}' + - condition: not + conditions: + - condition: trigger + id: home_custom_buttons + - condition: and + conditions: + - '{{ home_page_background_update or pages.current == pages.home }}' + - '{{ trigger.event is defined and trigger.event.data is defined }}' + - '{{ trigger.event.data.entity_id is defined }}' + - '{{ trigger.event.data.entity_id is not match "media_player." }}' + - condition: and + conditions: + - '{{ home_page_background_update or pages.current == pages.home }}' + - '{{ trigger.event is defined and trigger.event.data is defined }}' + - '{{ trigger.event.data.new_state is defined and trigger.event.data.new_state.state is defined }}' + - '{{ trigger.event.data.old_state is defined and trigger.event.data.old_state.state is defined }}' + - '{{ trigger.event.data.new_state.state != trigger.event.data.old_state.state }}' ############################################################# ##### START - Action ##### #############################################################